./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/pthread-deagle/floating_read-25.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-25.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 778e3ae04d32637f959b85d1a08971a3e61432e093e04b2798423806241a3f5a --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 21:00:14,150 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 21:00:14,152 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 21:00:14,186 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 21:00:14,187 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 21:00:14,190 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 21:00:14,190 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 21:00:14,193 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 21:00:14,194 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 21:00:14,197 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 21:00:14,198 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 21:00:14,199 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 21:00:14,199 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 21:00:14,201 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 21:00:14,202 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 21:00:14,204 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 21:00:14,205 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 21:00:14,206 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 21:00:14,207 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 21:00:14,212 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 21:00:14,213 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 21:00:14,214 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 21:00:14,215 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 21:00:14,215 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 21:00:14,220 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 21:00:14,220 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 21:00:14,220 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 21:00:14,221 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 21:00:14,221 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 21:00:14,222 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 21:00:14,222 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 21:00:14,223 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 21:00:14,224 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 21:00:14,225 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 21:00:14,226 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 21:00:14,226 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 21:00:14,226 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 21:00:14,226 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 21:00:14,227 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 21:00:14,227 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 21:00:14,228 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 21:00:14,229 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:14,253 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 21:00:14,253 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 21:00:14,253 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 21:00:14,253 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 21:00:14,254 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 21:00:14,254 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 21:00:14,255 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 21:00:14,255 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 21:00:14,255 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 21:00:14,255 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 21:00:14,256 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 21:00:14,256 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 21:00:14,256 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 21:00:14,256 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 21:00:14,257 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 21:00:14,257 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 21:00:14,257 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 21:00:14,257 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 21:00:14,257 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 21:00:14,257 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 21:00:14,257 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 21:00:14,258 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 21:00:14,258 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 21:00:14,258 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 21:00:14,258 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 21:00:14,258 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 21:00:14,258 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 21:00:14,259 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 21:00:14,259 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 21:00:14,260 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 21:00:14,260 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 21:00:14,260 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 21:00:14,260 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 21:00:14,260 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 -> 778e3ae04d32637f959b85d1a08971a3e61432e093e04b2798423806241a3f5a [2022-02-20 21:00:14,462 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 21:00:14,479 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 21:00:14,482 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 21:00:14,482 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 21:00:14,483 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 21:00:14,484 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/pthread-deagle/floating_read-25.i [2022-02-20 21:00:14,543 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/54d356752/cd72c5994b814936b705fd61799fc9f8/FLAG4392245a1 [2022-02-20 21:00:14,954 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 21:00:14,957 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/pthread-deagle/floating_read-25.i [2022-02-20 21:00:14,968 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/54d356752/cd72c5994b814936b705fd61799fc9f8/FLAG4392245a1 [2022-02-20 21:00:14,978 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/54d356752/cd72c5994b814936b705fd61799fc9f8 [2022-02-20 21:00:14,980 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 21:00:14,982 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 21:00:14,985 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 21:00:14,985 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 21:00:14,988 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 21:00:14,989 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 09:00:14" (1/1) ... [2022-02-20 21:00:14,990 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@710af521 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:00:14, skipping insertion in model container [2022-02-20 21:00:14,990 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 09:00:14" (1/1) ... [2022-02-20 21:00:14,994 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 21:00:15,031 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 21:00:15,314 WARN L1545 CHandler]: Possible shadowing of function thread [2022-02-20 21:00:15,322 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-25.i[31197,31210] [2022-02-20 21:00:15,327 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 21:00:15,333 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 21:00:15,368 WARN L1545 CHandler]: Possible shadowing of function thread [2022-02-20 21:00:15,371 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-25.i[31197,31210] [2022-02-20 21:00:15,385 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 21:00:15,414 INFO L208 MainTranslator]: Completed translation [2022-02-20 21:00:15,414 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:00:15 WrapperNode [2022-02-20 21:00:15,414 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 21:00:15,415 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 21:00:15,418 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 21:00:15,418 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 21:00:15,423 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:15" (1/1) ... [2022-02-20 21:00:15,442 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:15" (1/1) ... [2022-02-20 21:00:15,464 INFO L137 Inliner]: procedures = 162, calls = 17, calls flagged for inlining = 2, calls inlined = 2, statements flattened = 52 [2022-02-20 21:00:15,464 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 21:00:15,465 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 21:00:15,465 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 21:00:15,466 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 21:00:15,470 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:15" (1/1) ... [2022-02-20 21:00:15,471 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:15" (1/1) ... [2022-02-20 21:00:15,482 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:15" (1/1) ... [2022-02-20 21:00:15,482 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:15" (1/1) ... [2022-02-20 21:00:15,490 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:15" (1/1) ... [2022-02-20 21:00:15,497 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:15" (1/1) ... [2022-02-20 21:00:15,500 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:15" (1/1) ... [2022-02-20 21:00:15,501 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 21:00:15,502 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 21:00:15,502 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 21:00:15,502 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 21:00:15,503 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:00:15" (1/1) ... [2022-02-20 21:00:15,515 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 21:00:15,523 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 21:00:15,535 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:15,537 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:15,558 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-02-20 21:00:15,558 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-02-20 21:00:15,558 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2022-02-20 21:00:15,559 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 21:00:15,559 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-02-20 21:00:15,559 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 21:00:15,559 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 21:00:15,559 INFO L130 BoogieDeclarations]: Found specification of procedure thread [2022-02-20 21:00:15,559 INFO L138 BoogieDeclarations]: Found implementation of procedure thread [2022-02-20 21:00:15,559 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2022-02-20 21:00:15,560 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 21:00:15,560 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 21:00:15,561 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:15,672 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 21:00:15,688 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 21:00:15,823 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 21:00:15,828 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 21:00:15,829 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-02-20 21:00:15,830 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 09:00:15 BoogieIcfgContainer [2022-02-20 21:00:15,830 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 21:00:15,832 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 21:00:15,832 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 21:00:15,835 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 21:00:15,835 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 09:00:14" (1/3) ... [2022-02-20 21:00:15,835 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@36cb5898 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 09:00:15, skipping insertion in model container [2022-02-20 21:00:15,836 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 09:00:15" (2/3) ... [2022-02-20 21:00:15,836 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@36cb5898 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 09:00:15, skipping insertion in model container [2022-02-20 21:00:15,836 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 09:00:15" (3/3) ... [2022-02-20 21:00:15,837 INFO L111 eAbstractionObserver]: Analyzing ICFG floating_read-25.i [2022-02-20 21:00:15,842 WARN L150 ceAbstractionStarter]: Switching off computation of Hoare annotation because input is a concurrent program [2022-02-20 21:00:15,842 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 21:00:15,843 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 21:00:15,843 INFO L534 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2022-02-20 21:00:15,891 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of1ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:15,892 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of1ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:15,892 WARN L322 ript$VariableManager]: TermVariabe threadThread1of1ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:15,892 WARN L322 ript$VariableManager]: TermVariabe threadThread1of1ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:15,895 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of1ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:15,895 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of1ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:15,895 WARN L322 ript$VariableManager]: TermVariabe threadThread1of1ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:15,895 WARN L322 ript$VariableManager]: TermVariabe threadThread1of1ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:15,896 WARN L322 ript$VariableManager]: TermVariabe threadThread1of1ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:15,896 WARN L322 ript$VariableManager]: TermVariabe threadThread1of1ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:15,896 WARN L322 ript$VariableManager]: TermVariabe threadThread1of1ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:15,897 WARN L322 ript$VariableManager]: TermVariabe threadThread1of1ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:15,897 WARN L322 ript$VariableManager]: TermVariabe threadThread1of1ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:15,897 WARN L322 ript$VariableManager]: TermVariabe threadThread1of1ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:15,898 WARN L322 ript$VariableManager]: TermVariabe threadThread1of1ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:15,898 WARN L322 ript$VariableManager]: TermVariabe threadThread1of1ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:15,898 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of1ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:15,898 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of1ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:15,899 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of1ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:15,899 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of1ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:15,902 WARN L322 ript$VariableManager]: TermVariabe threadThread1of1ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:15,902 WARN L322 ript$VariableManager]: TermVariabe threadThread1of1ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:15,903 WARN L322 ript$VariableManager]: TermVariabe threadThread1of1ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:15,903 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of1ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:15,904 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of1ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:15,911 INFO L148 ThreadInstanceAdder]: Constructed 1 joinOtherThreadTransitions. [2022-02-20 21:00:15,949 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 21:00:15,955 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:15,956 INFO L340 AbstractCegarLoop]: Starting to check reachability of 2 error locations. [2022-02-20 21:00:15,964 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 58 places, 59 transitions, 126 flow [2022-02-20 21:00:15,999 INFO L129 PetriNetUnfolder]: 7/81 cut-off events. [2022-02-20 21:00:16,000 INFO L130 PetriNetUnfolder]: For 1/1 co-relation queries the response was YES. [2022-02-20 21:00:16,002 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:16,002 INFO L82 GeneralOperation]: Start removeDead. Operand has 58 places, 59 transitions, 126 flow [2022-02-20 21:00:16,004 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 42 places, 40 transitions, 85 flow [2022-02-20 21:00:16,013 INFO L129 PetriNetUnfolder]: 1/25 cut-off events. [2022-02-20 21:00:16,014 INFO L130 PetriNetUnfolder]: For 0/0 co-relation queries the response was YES. [2022-02-20 21:00:16,014 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 21:00:16,014 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:16,015 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 21:00:16,019 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:00:16,019 INFO L85 PathProgramCache]: Analyzing trace with hash 1781753840, now seen corresponding path program 1 times [2022-02-20 21:00:16,025 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:00:16,025 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1660664292] [2022-02-20 21:00:16,025 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:16,026 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:00:16,118 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:16,181 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:16,181 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:16,181 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:16,182 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:16,182 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:16,182 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:16,182 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:16,182 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:16,183 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:16,183 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:16,183 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:16,183 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:16,184 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:16,184 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:16,184 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:16,184 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:16,185 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:16,185 INFO L290 TraceCheckUtils]: 17: Hoare triple {61#true} [85] L719-->L719-1: Formula: (and (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 104) |v_#length_3|) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_2|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_2| 0) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2| 1)) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] {61#true} is VALID [2022-02-20 21:00:16,185 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:16,185 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:16,186 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:16,186 INFO L290 TraceCheckUtils]: 21: Hoare triple {62#false} [88] L723-6-->L727: Formula: (not (< v_~x~0_4 26)) 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:16,187 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:16,188 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:16,188 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:00:16,188 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1660664292] [2022-02-20 21:00:16,189 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1660664292] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 21:00:16,189 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 21:00:16,189 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 21:00:16,190 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1726319720] [2022-02-20 21:00:16,190 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 21:00:16,199 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:16,200 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:00:16,202 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:16,226 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:16,228 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-02-20 21:00:16,228 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:00:16,243 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-02-20 21:00:16,243 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 21:00:16,244 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 53 out of 59 [2022-02-20 21:00:16,246 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:16,246 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 21:00:16,246 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 53 of 59 [2022-02-20 21:00:16,247 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 21:00:16,256 INFO L129 PetriNetUnfolder]: 0/46 cut-off events. [2022-02-20 21:00:16,257 INFO L130 PetriNetUnfolder]: For 1/1 co-relation queries the response was YES. [2022-02-20 21:00:16,257 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:16,257 INFO L132 encePairwiseOnDemand]: 58/59 looper letters, 1 selfloop transitions, 0 changer transitions 0/39 dead transitions. [2022-02-20 21:00:16,258 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 43 places, 39 transitions, 85 flow [2022-02-20 21:00:16,258 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-02-20 21:00:16,259 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2022-02-20 21:00:16,267 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 108 transitions. [2022-02-20 21:00:16,268 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.9152542372881356 [2022-02-20 21:00:16,269 INFO L72 ComplementDD]: Start complementDD. Operand 2 states and 108 transitions. [2022-02-20 21:00:16,269 INFO L73 IsDeterministic]: Start isDeterministic. Operand 2 states and 108 transitions. [2022-02-20 21:00:16,269 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 21:00:16,270 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 2 states and 108 transitions. [2022-02-20 21:00:16,272 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:16,273 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:16,274 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:16,275 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:16,276 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 43 places, 39 transitions, 85 flow [2022-02-20 21:00:16,277 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:16,278 INFO L242 Difference]: Finished difference. Result has 43 places, 39 transitions, 83 flow [2022-02-20 21:00:16,279 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:16,281 INFO L334 CegarLoopForPetriNet]: 42 programPoint places, 1 predicate places. [2022-02-20 21:00:16,282 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 43 places, 39 transitions, 83 flow [2022-02-20 21:00:16,288 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:16,289 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:16,289 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:00:16,289 INFO L470 AbstractCegarLoop]: Abstraction has has 43 places, 39 transitions, 83 flow [2022-02-20 21:00:16,290 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:16,290 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 21:00:16,290 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:16,290 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 21:00:16,290 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 21:00:16,291 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:00:16,291 INFO L85 PathProgramCache]: Analyzing trace with hash 1781754801, now seen corresponding path program 1 times [2022-02-20 21:00:16,291 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:00:16,291 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1684099929] [2022-02-20 21:00:16,291 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:16,292 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:00:16,314 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:16,337 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:16,338 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:16,338 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:16,338 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:16,338 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:16,339 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:16,339 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:16,339 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:16,339 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:16,339 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:16,340 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:16,340 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:16,340 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:16,340 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:16,341 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:16,341 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:16,341 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:16,341 INFO L290 TraceCheckUtils]: 17: Hoare triple {177#true} [85] L719-->L719-1: Formula: (and (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 104) |v_#length_3|) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_2|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_2| 0) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2| 1)) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] {177#true} is VALID [2022-02-20 21:00:16,341 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:16,342 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:16,342 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| 25)) 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:16,343 INFO L290 TraceCheckUtils]: 21: Hoare triple {178#false} [88] L723-6-->L727: Formula: (not (< v_~x~0_4 26)) 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:16,343 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:16,343 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:16,343 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:00:16,344 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1684099929] [2022-02-20 21:00:16,344 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1684099929] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 21:00:16,344 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 21:00:16,344 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 21:00:16,344 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1131638337] [2022-02-20 21:00:16,344 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 21:00:16,345 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:16,346 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:00:16,346 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:16,362 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:16,362 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 21:00:16,363 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:00:16,363 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 21:00:16,363 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 21:00:16,364 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 46 out of 59 [2022-02-20 21:00:16,364 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:16,364 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 21:00:16,364 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 46 of 59 [2022-02-20 21:00:16,365 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 21:00:16,386 INFO L129 PetriNetUnfolder]: 0/43 cut-off events. [2022-02-20 21:00:16,386 INFO L130 PetriNetUnfolder]: For 0/0 co-relation queries the response was YES. [2022-02-20 21:00:16,387 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:16,387 INFO L132 encePairwiseOnDemand]: 56/59 looper letters, 8 selfloop transitions, 2 changer transitions 0/41 dead transitions. [2022-02-20 21:00:16,387 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 45 places, 41 transitions, 107 flow [2022-02-20 21:00:16,387 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 21:00:16,387 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2022-02-20 21:00:16,389 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 149 transitions. [2022-02-20 21:00:16,389 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.8418079096045198 [2022-02-20 21:00:16,390 INFO L72 ComplementDD]: Start complementDD. Operand 3 states and 149 transitions. [2022-02-20 21:00:16,390 INFO L73 IsDeterministic]: Start isDeterministic. Operand 3 states and 149 transitions. [2022-02-20 21:00:16,390 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 21:00:16,390 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 3 states and 149 transitions. [2022-02-20 21:00:16,391 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:16,391 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:16,391 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:16,392 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:16,392 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 45 places, 41 transitions, 107 flow [2022-02-20 21:00:16,392 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:16,393 INFO L242 Difference]: Finished difference. Result has 46 places, 39 transitions, 91 flow [2022-02-20 21:00:16,393 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:16,394 INFO L334 CegarLoopForPetriNet]: 42 programPoint places, 4 predicate places. [2022-02-20 21:00:16,394 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 46 places, 39 transitions, 91 flow [2022-02-20 21:00:16,397 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:16,398 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:16,398 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:00:16,398 INFO L470 AbstractCegarLoop]: Abstraction has has 46 places, 39 transitions, 91 flow [2022-02-20 21:00:16,399 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:16,399 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 21:00:16,399 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:16,399 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-02-20 21:00:16,399 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 21:00:16,400 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:00:16,400 INFO L85 PathProgramCache]: Analyzing trace with hash -315270955, now seen corresponding path program 1 times [2022-02-20 21:00:16,400 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:00:16,400 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1982519126] [2022-02-20 21:00:16,400 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:16,400 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:00:16,425 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:16,459 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:16,459 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:16,460 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:16,460 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:16,460 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:16,460 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:16,460 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:16,460 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:16,460 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:16,461 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:16,461 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:16,461 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:16,461 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:16,461 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:16,461 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:16,462 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:16,462 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:16,462 INFO L290 TraceCheckUtils]: 17: Hoare triple {292#true} [85] L719-->L719-1: Formula: (and (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 104) |v_#length_3|) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_2|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_2| 0) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2| 1)) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] {292#true} is VALID [2022-02-20 21:00:16,465 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:16,465 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:16,466 INFO L290 TraceCheckUtils]: 20: Hoare triple {294#(= ~x~0 0)} [105] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 25) 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:16,467 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:16,467 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:16,468 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:16,468 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:16,469 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:16,469 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:16,470 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:16,470 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:16,470 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:16,471 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| 25)) 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:16,473 INFO L290 TraceCheckUtils]: 31: Hoare triple {294#(= ~x~0 0)} [88] L723-6-->L727: Formula: (not (< v_~x~0_4 26)) 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:16,473 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:16,474 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:16,474 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:00:16,474 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1982519126] [2022-02-20 21:00:16,474 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1982519126] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 21:00:16,474 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 21:00:16,474 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 21:00:16,474 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [9871207] [2022-02-20 21:00:16,474 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 21:00:16,475 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:16,475 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:00:16,475 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:16,502 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:16,503 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 21:00:16,503 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:00:16,503 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 21:00:16,503 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 21:00:16,504 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 48 out of 59 [2022-02-20 21:00:16,504 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:16,504 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 21:00:16,504 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 48 of 59 [2022-02-20 21:00:16,504 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 21:00:16,519 INFO L129 PetriNetUnfolder]: 0/43 cut-off events. [2022-02-20 21:00:16,520 INFO L130 PetriNetUnfolder]: For 2/2 co-relation queries the response was YES. [2022-02-20 21:00:16,520 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:16,520 INFO L132 encePairwiseOnDemand]: 56/59 looper letters, 3 selfloop transitions, 2 changer transitions 0/39 dead transitions. [2022-02-20 21:00:16,520 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 48 places, 39 transitions, 101 flow [2022-02-20 21:00:16,520 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 21:00:16,520 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2022-02-20 21:00:16,522 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 150 transitions. [2022-02-20 21:00:16,522 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.847457627118644 [2022-02-20 21:00:16,522 INFO L72 ComplementDD]: Start complementDD. Operand 3 states and 150 transitions. [2022-02-20 21:00:16,522 INFO L73 IsDeterministic]: Start isDeterministic. Operand 3 states and 150 transitions. [2022-02-20 21:00:16,522 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 21:00:16,522 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 3 states and 150 transitions. [2022-02-20 21:00:16,523 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:16,523 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:16,523 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:16,523 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:16,523 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 48 places, 39 transitions, 101 flow [2022-02-20 21:00:16,524 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:16,525 INFO L242 Difference]: Finished difference. Result has 47 places, 39 transitions, 95 flow [2022-02-20 21:00:16,525 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:16,528 INFO L334 CegarLoopForPetriNet]: 42 programPoint places, 5 predicate places. [2022-02-20 21:00:16,528 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 47 places, 39 transitions, 95 flow [2022-02-20 21:00:16,530 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:16,531 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:16,531 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:00:16,531 INFO L470 AbstractCegarLoop]: Abstraction has has 47 places, 39 transitions, 95 flow [2022-02-20 21:00:16,531 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:16,531 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 21:00:16,531 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:16,531 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-02-20 21:00:16,531 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0INUSE_VIOLATION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 21:00:16,532 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:00:16,532 INFO L85 PathProgramCache]: Analyzing trace with hash 1968634815, now seen corresponding path program 1 times [2022-02-20 21:00:16,532 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:00:16,532 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [98584421] [2022-02-20 21:00:16,532 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:16,532 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:00:16,572 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-02-20 21:00:16,572 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-02-20 21:00:16,580 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-02-20 21:00:16,595 INFO L138 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-02-20 21:00:16,596 INFO L628 BasicCegarLoop]: Counterexample is feasible [2022-02-20 21:00:16,596 INFO L764 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr0INUSE_VIOLATION (1 of 2 remaining) [2022-02-20 21:00:16,597 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 2 remaining) [2022-02-20 21:00:16,597 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-02-20 21:00:16,600 INFO L732 BasicCegarLoop]: Path program histogram: [1, 1, 1, 1] [2022-02-20 21:00:16,601 WARN L235 ceAbstractionStarter]: 1 thread instances were not sufficient, I will increase this number and restart the analysis [2022-02-20 21:00:16,601 INFO L534 ceAbstractionStarter]: Constructing petrified ICFG for 2 thread instances. [2022-02-20 21:00:16,612 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of2ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:16,612 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of2ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:16,612 WARN L322 ript$VariableManager]: TermVariabe threadThread1of2ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:16,612 WARN L322 ript$VariableManager]: TermVariabe threadThread1of2ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:16,612 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of2ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:16,613 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of2ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:16,613 WARN L322 ript$VariableManager]: TermVariabe threadThread1of2ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:16,613 WARN L322 ript$VariableManager]: TermVariabe threadThread1of2ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:16,613 WARN L322 ript$VariableManager]: TermVariabe threadThread1of2ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:16,613 WARN L322 ript$VariableManager]: TermVariabe threadThread1of2ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:16,613 WARN L322 ript$VariableManager]: TermVariabe threadThread1of2ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:16,613 WARN L322 ript$VariableManager]: TermVariabe threadThread1of2ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:16,613 WARN L322 ript$VariableManager]: TermVariabe threadThread1of2ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:16,613 WARN L322 ript$VariableManager]: TermVariabe threadThread1of2ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:16,613 WARN L322 ript$VariableManager]: TermVariabe threadThread1of2ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:16,613 WARN L322 ript$VariableManager]: TermVariabe threadThread1of2ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:16,614 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of2ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:16,614 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of2ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:16,614 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of2ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:16,614 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of2ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:16,614 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of2ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:16,614 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of2ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:16,614 WARN L322 ript$VariableManager]: TermVariabe threadThread2of2ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:16,614 WARN L322 ript$VariableManager]: TermVariabe threadThread2of2ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:16,614 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of2ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:16,614 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of2ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:16,614 WARN L322 ript$VariableManager]: TermVariabe threadThread2of2ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:16,614 WARN L322 ript$VariableManager]: TermVariabe threadThread2of2ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:16,615 WARN L322 ript$VariableManager]: TermVariabe threadThread2of2ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:16,615 WARN L322 ript$VariableManager]: TermVariabe threadThread2of2ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:16,615 WARN L322 ript$VariableManager]: TermVariabe threadThread2of2ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:16,615 WARN L322 ript$VariableManager]: TermVariabe threadThread2of2ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:16,615 WARN L322 ript$VariableManager]: TermVariabe threadThread2of2ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:16,615 WARN L322 ript$VariableManager]: TermVariabe threadThread2of2ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:16,615 WARN L322 ript$VariableManager]: TermVariabe threadThread2of2ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:16,615 WARN L322 ript$VariableManager]: TermVariabe threadThread2of2ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:16,615 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of2ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:16,615 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of2ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:16,615 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of2ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:16,616 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of2ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:16,616 WARN L322 ript$VariableManager]: TermVariabe threadThread1of2ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:16,616 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of2ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:16,616 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of2ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:16,617 WARN L322 ript$VariableManager]: TermVariabe threadThread1of2ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:16,617 WARN L322 ript$VariableManager]: TermVariabe threadThread1of2ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:16,617 WARN L322 ript$VariableManager]: TermVariabe threadThread2of2ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:16,618 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of2ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:16,618 WARN L322 ript$VariableManager]: TermVariabe threadThread2of2ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:16,618 WARN L322 ript$VariableManager]: TermVariabe threadThread2of2ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:16,618 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of2ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:16,628 INFO L148 ThreadInstanceAdder]: Constructed 2 joinOtherThreadTransitions. [2022-02-20 21:00:16,630 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 21:00:16,634 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:16,634 INFO L340 AbstractCegarLoop]: Starting to check reachability of 2 error locations. [2022-02-20 21:00:16,637 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 66 places, 66 transitions, 150 flow [2022-02-20 21:00:16,661 INFO L129 PetriNetUnfolder]: 13/135 cut-off events. [2022-02-20 21:00:16,662 INFO L130 PetriNetUnfolder]: For 6/6 co-relation queries the response was YES. [2022-02-20 21:00:16,663 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:16,663 INFO L82 GeneralOperation]: Start removeDead. Operand has 66 places, 66 transitions, 150 flow [2022-02-20 21:00:16,664 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 50 places, 46 transitions, 104 flow [2022-02-20 21:00:16,668 INFO L129 PetriNetUnfolder]: 1/26 cut-off events. [2022-02-20 21:00:16,668 INFO L130 PetriNetUnfolder]: For 0/0 co-relation queries the response was YES. [2022-02-20 21:00:16,668 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 21:00:16,668 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:16,668 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 21:00:16,669 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:00:16,669 INFO L85 PathProgramCache]: Analyzing trace with hash 775346483, now seen corresponding path program 1 times [2022-02-20 21:00:16,669 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:00:16,669 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [237999801] [2022-02-20 21:00:16,669 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:16,670 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:00:16,679 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:16,693 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:16,693 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:16,694 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:16,694 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:16,694 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:16,694 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:16,694 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:16,695 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:16,695 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:16,695 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:16,695 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:16,695 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:16,696 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:16,696 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:16,696 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:16,696 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:16,696 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:16,697 INFO L290 TraceCheckUtils]: 17: Hoare triple {69#true} [151] L719-->L719-1: Formula: (and (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 104) |v_#length_3|) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_2|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_2| 0) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2| 1)) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] {69#true} is VALID [2022-02-20 21:00:16,697 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:16,697 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:16,698 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| 25)) 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:16,698 INFO L290 TraceCheckUtils]: 21: Hoare triple {70#false} [154] L723-6-->L727: Formula: (not (< v_~x~0_4 26)) 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:16,698 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:16,698 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:16,699 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:00:16,699 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [237999801] [2022-02-20 21:00:16,699 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [237999801] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 21:00:16,699 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 21:00:16,699 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 21:00:16,699 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [910144070] [2022-02-20 21:00:16,699 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 21:00:16,699 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:16,700 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:00:16,700 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:16,717 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:16,717 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 21:00:16,717 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:00:16,717 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 21:00:16,717 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 21:00:16,718 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 51 out of 66 [2022-02-20 21:00:16,718 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:16,718 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 21:00:16,718 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 51 of 66 [2022-02-20 21:00:16,718 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 21:00:16,747 INFO L129 PetriNetUnfolder]: 0/61 cut-off events. [2022-02-20 21:00:16,747 INFO L130 PetriNetUnfolder]: For 2/2 co-relation queries the response was YES. [2022-02-20 21:00:16,747 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:16,748 INFO L132 encePairwiseOnDemand]: 62/66 looper letters, 11 selfloop transitions, 2 changer transitions 0/49 dead transitions. [2022-02-20 21:00:16,748 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 52 places, 49 transitions, 136 flow [2022-02-20 21:00:16,748 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 21:00:16,748 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2022-02-20 21:00:16,750 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 169 transitions. [2022-02-20 21:00:16,750 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.8535353535353535 [2022-02-20 21:00:16,750 INFO L72 ComplementDD]: Start complementDD. Operand 3 states and 169 transitions. [2022-02-20 21:00:16,750 INFO L73 IsDeterministic]: Start isDeterministic. Operand 3 states and 169 transitions. [2022-02-20 21:00:16,750 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 21:00:16,750 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 3 states and 169 transitions. [2022-02-20 21:00:16,751 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:16,751 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:16,751 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:16,751 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:16,752 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 52 places, 49 transitions, 136 flow [2022-02-20 21:00:16,752 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:16,769 INFO L242 Difference]: Finished difference. Result has 53 places, 46 transitions, 112 flow [2022-02-20 21:00:16,769 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:16,769 INFO L334 CegarLoopForPetriNet]: 50 programPoint places, 3 predicate places. [2022-02-20 21:00:16,769 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 53 places, 46 transitions, 112 flow [2022-02-20 21:00:16,781 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:16,783 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:16,783 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:00:16,783 INFO L470 AbstractCegarLoop]: Abstraction has has 53 places, 46 transitions, 112 flow [2022-02-20 21:00:16,783 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:16,783 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 21:00:16,783 INFO L254 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 21:00:16,783 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2022-02-20 21:00:16,784 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 21:00:16,784 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:00:16,784 INFO L85 PathProgramCache]: Analyzing trace with hash -1083506660, now seen corresponding path program 1 times [2022-02-20 21:00:16,784 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:00:16,784 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [190964077] [2022-02-20 21:00:16,784 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:16,784 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:00:16,795 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:16,821 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:16,821 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:16,821 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:16,822 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:16,822 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:16,822 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:16,822 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:16,822 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:16,822 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:16,822 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:16,822 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:16,823 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:16,823 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:16,823 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:16,823 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:16,823 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:16,824 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:16,824 INFO L290 TraceCheckUtils]: 17: Hoare triple {682#true} [151] L719-->L719-1: Formula: (and (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 104) |v_#length_3|) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_2|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_2| 0) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2| 1)) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] {682#true} is VALID [2022-02-20 21:00:16,824 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:16,825 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:16,825 INFO L290 TraceCheckUtils]: 20: Hoare triple {684#(= ~x~0 0)} [171] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 25) 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:16,826 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:16,826 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:16,826 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:16,827 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:16,829 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:16,829 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:16,830 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:16,830 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:16,831 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:16,831 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| 25)) 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:16,831 INFO L290 TraceCheckUtils]: 31: Hoare triple {684#(= ~x~0 0)} [154] L723-6-->L727: Formula: (not (< v_~x~0_4 26)) 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:16,833 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:16,834 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:16,834 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:00:16,834 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [190964077] [2022-02-20 21:00:16,834 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [190964077] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 21:00:16,834 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 21:00:16,834 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 21:00:16,834 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [670699024] [2022-02-20 21:00:16,835 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 21:00:16,835 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:16,836 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:00:16,836 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:16,859 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:16,859 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 21:00:16,859 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:00:16,860 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 21:00:16,860 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 21:00:16,861 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 52 out of 66 [2022-02-20 21:00:16,861 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:16,861 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 21:00:16,862 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 52 of 66 [2022-02-20 21:00:16,862 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 21:00:16,885 INFO L129 PetriNetUnfolder]: 4/87 cut-off events. [2022-02-20 21:00:16,885 INFO L130 PetriNetUnfolder]: For 8/8 co-relation queries the response was YES. [2022-02-20 21:00:16,886 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:16,886 INFO L132 encePairwiseOnDemand]: 62/66 looper letters, 7 selfloop transitions, 3 changer transitions 0/49 dead transitions. [2022-02-20 21:00:16,886 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 55 places, 49 transitions, 143 flow [2022-02-20 21:00:16,886 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 21:00:16,886 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2022-02-20 21:00:16,888 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 167 transitions. [2022-02-20 21:00:16,888 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.8434343434343434 [2022-02-20 21:00:16,888 INFO L72 ComplementDD]: Start complementDD. Operand 3 states and 167 transitions. [2022-02-20 21:00:16,888 INFO L73 IsDeterministic]: Start isDeterministic. Operand 3 states and 167 transitions. [2022-02-20 21:00:16,888 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 21:00:16,889 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 3 states and 167 transitions. [2022-02-20 21:00:16,889 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:16,890 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:16,890 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:16,890 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:16,890 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 55 places, 49 transitions, 143 flow [2022-02-20 21:00:16,891 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:16,892 INFO L242 Difference]: Finished difference. Result has 55 places, 48 transitions, 129 flow [2022-02-20 21:00:16,892 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:16,892 INFO L334 CegarLoopForPetriNet]: 50 programPoint places, 5 predicate places. [2022-02-20 21:00:16,893 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 55 places, 48 transitions, 129 flow [2022-02-20 21:00:16,902 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:16,903 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:16,903 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:00:16,903 INFO L470 AbstractCegarLoop]: Abstraction has has 55 places, 48 transitions, 129 flow [2022-02-20 21:00:16,904 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:16,904 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 21:00:16,904 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:16,904 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2022-02-20 21:00:16,904 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 21:00:16,905 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:00:16,905 INFO L85 PathProgramCache]: Analyzing trace with hash -2017126046, now seen corresponding path program 1 times [2022-02-20 21:00:16,905 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:00:16,905 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [763202692] [2022-02-20 21:00:16,905 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:16,905 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:00:16,920 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:16,961 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:16,961 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:16,961 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:16,961 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:16,961 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:16,962 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:16,962 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:16,962 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:16,962 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:16,962 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:16,962 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:16,962 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:16,962 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:16,962 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:16,963 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:16,963 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:16,963 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:16,963 INFO L290 TraceCheckUtils]: 17: Hoare triple {1271#true} [151] L719-->L719-1: Formula: (and (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 104) |v_#length_3|) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_2|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_2| 0) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2| 1)) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] {1271#true} is VALID [2022-02-20 21:00:16,963 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:16,966 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:16,967 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| 25) 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:16,967 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:16,967 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:16,968 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:16,968 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:16,969 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:16,969 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:16,970 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:16,970 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:16,970 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:16,971 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| 25)) 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:16,971 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:16,971 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:16,972 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:16,972 INFO L290 TraceCheckUtils]: 34: Hoare triple {1272#false} [154] L723-6-->L727: Formula: (not (< v_~x~0_4 26)) 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:16,981 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:16,982 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:16,982 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:00:16,982 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [763202692] [2022-02-20 21:00:16,983 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [763202692] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 21:00:16,983 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1463773081] [2022-02-20 21:00:16,983 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:16,983 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 21:00:16,983 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 21:00:16,988 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:16,990 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:17,054 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:17,056 INFO L263 TraceCheckSpWp]: Trace formula consists of 91 conjuncts, 4 conjunts are in the unsatisfiable core [2022-02-20 21:00:17,065 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:17,067 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 21:00:17,213 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:17,213 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:17,213 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:17,213 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:17,213 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:17,213 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:17,213 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:17,214 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:17,214 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:17,214 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:17,214 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:17,214 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:17,215 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:17,215 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:17,215 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:17,217 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:17,217 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:17,218 INFO L290 TraceCheckUtils]: 17: Hoare triple {1271#true} [151] L719-->L719-1: Formula: (and (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 104) |v_#length_3|) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_2|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_2| 0) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2| 1)) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] {1271#true} is VALID [2022-02-20 21:00:17,218 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:17,218 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:17,219 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| 25) 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:17,219 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:17,219 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:17,220 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:17,221 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:17,221 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:17,222 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:17,222 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:17,223 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:17,223 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:17,223 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| 25)) 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:17,224 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:17,224 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:17,228 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:17,228 INFO L290 TraceCheckUtils]: 34: Hoare triple {1272#false} [154] L723-6-->L727: Formula: (not (< v_~x~0_4 26)) 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:17,228 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:17,229 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:17,229 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 21:00:17,369 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:17,369 INFO L290 TraceCheckUtils]: 34: Hoare triple {1272#false} [154] L723-6-->L727: Formula: (not (< v_~x~0_4 26)) 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:17,369 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:17,369 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:17,369 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:17,370 INFO L290 TraceCheckUtils]: 30: Hoare triple {1401#(<= |ULTIMATE.start_main_~i~0#1| 25)} [170] L723-5-->L723-6: Formula: (not (<= |v_ULTIMATE.start_main_~i~0#1_3| 25)) 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:17,370 INFO L290 TraceCheckUtils]: 29: Hoare triple {1401#(<= |ULTIMATE.start_main_~i~0#1| 25)} [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| 25)} is VALID [2022-02-20 21:00:17,371 INFO L290 TraceCheckUtils]: 28: Hoare triple {1408#(<= |ULTIMATE.start_main_#t~post1#1| 24)} [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| 25)} is VALID [2022-02-20 21:00:17,371 INFO L290 TraceCheckUtils]: 27: Hoare triple {1412#(<= |ULTIMATE.start_main_~i~0#1| 24)} [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| 24)} is VALID [2022-02-20 21:00:17,371 INFO L290 TraceCheckUtils]: 26: Hoare triple {1412#(<= |ULTIMATE.start_main_~i~0#1| 24)} [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| 24)} is VALID [2022-02-20 21:00:17,372 INFO L290 TraceCheckUtils]: 25: Hoare triple {1412#(<= |ULTIMATE.start_main_~i~0#1| 24)} [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| 24)} is VALID [2022-02-20 21:00:17,372 INFO L290 TraceCheckUtils]: 24: Hoare triple {1412#(<= |ULTIMATE.start_main_~i~0#1| 24)} [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| 24)} is VALID [2022-02-20 21:00:17,372 INFO L290 TraceCheckUtils]: 23: Hoare triple {1412#(<= |ULTIMATE.start_main_~i~0#1| 24)} [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| 24)} is VALID [2022-02-20 21:00:17,372 INFO L290 TraceCheckUtils]: 22: Hoare triple {1412#(<= |ULTIMATE.start_main_~i~0#1| 24)} [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| 24)} is VALID [2022-02-20 21:00:17,373 INFO L290 TraceCheckUtils]: 21: Hoare triple {1412#(<= |ULTIMATE.start_main_~i~0#1| 24)} [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| 24)} is VALID [2022-02-20 21:00:17,373 INFO L290 TraceCheckUtils]: 20: Hoare triple {1412#(<= |ULTIMATE.start_main_~i~0#1| 24)} [171] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 25) 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| 24)} is VALID [2022-02-20 21:00:17,373 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| 24)} is VALID [2022-02-20 21:00:17,373 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:17,374 INFO L290 TraceCheckUtils]: 17: Hoare triple {1271#true} [151] L719-->L719-1: Formula: (and (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 104) |v_#length_3|) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_2|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_2| 0) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2| 1)) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] {1271#true} is VALID [2022-02-20 21:00:17,374 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:17,374 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:17,374 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:17,374 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:17,374 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:17,374 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:17,374 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:17,374 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:17,374 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:17,375 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:17,375 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:17,375 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:17,375 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:17,375 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:17,375 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:17,375 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:17,379 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:17,379 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:17,379 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1463773081] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 21:00:17,379 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 21:00:17,379 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 10 [2022-02-20 21:00:17,379 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2125013767] [2022-02-20 21:00:17,380 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 21:00:17,380 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:17,380 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:00:17,381 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:17,413 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:17,413 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-02-20 21:00:17,413 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:00:17,414 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-02-20 21:00:17,414 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=60, Unknown=0, NotChecked=0, Total=90 [2022-02-20 21:00:17,415 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 50 out of 66 [2022-02-20 21:00:17,415 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:17,415 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 21:00:17,416 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 50 of 66 [2022-02-20 21:00:17,416 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 21:00:17,508 INFO L129 PetriNetUnfolder]: 1/59 cut-off events. [2022-02-20 21:00:17,508 INFO L130 PetriNetUnfolder]: For 3/3 co-relation queries the response was YES. [2022-02-20 21:00:17,509 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:17,509 INFO L132 encePairwiseOnDemand]: 61/66 looper letters, 9 selfloop transitions, 7 changer transitions 0/51 dead transitions. [2022-02-20 21:00:17,509 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 60 places, 51 transitions, 163 flow [2022-02-20 21:00:17,509 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 21:00:17,509 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2022-02-20 21:00:17,513 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 468 transitions. [2022-02-20 21:00:17,513 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.7878787878787878 [2022-02-20 21:00:17,513 INFO L72 ComplementDD]: Start complementDD. Operand 9 states and 468 transitions. [2022-02-20 21:00:17,513 INFO L73 IsDeterministic]: Start isDeterministic. Operand 9 states and 468 transitions. [2022-02-20 21:00:17,513 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 21:00:17,513 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 9 states and 468 transitions. [2022-02-20 21:00:17,514 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:17,515 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:17,515 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:17,516 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:17,516 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 60 places, 51 transitions, 163 flow [2022-02-20 21:00:17,517 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:17,518 INFO L242 Difference]: Finished difference. Result has 59 places, 47 transitions, 134 flow [2022-02-20 21:00:17,518 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:17,518 INFO L334 CegarLoopForPetriNet]: 50 programPoint places, 9 predicate places. [2022-02-20 21:00:17,518 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 59 places, 47 transitions, 134 flow [2022-02-20 21:00:17,542 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:17,543 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:17,543 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:00:17,543 INFO L470 AbstractCegarLoop]: Abstraction has has 59 places, 47 transitions, 134 flow [2022-02-20 21:00:17,543 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:17,543 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 21:00:17,543 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:17,561 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:17,755 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:17,756 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0INUSE_VIOLATION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 21:00:17,756 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:00:17,756 INFO L85 PathProgramCache]: Analyzing trace with hash 286308789, now seen corresponding path program 1 times [2022-02-20 21:00:17,756 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:00:17,756 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1216019881] [2022-02-20 21:00:17,756 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:17,756 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:00:17,769 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-02-20 21:00:17,770 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-02-20 21:00:17,777 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-02-20 21:00:17,781 INFO L138 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-02-20 21:00:17,781 INFO L628 BasicCegarLoop]: Counterexample is feasible [2022-02-20 21:00:17,782 INFO L764 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr0INUSE_VIOLATION (1 of 2 remaining) [2022-02-20 21:00:17,782 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 2 remaining) [2022-02-20 21:00:17,782 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7 [2022-02-20 21:00:17,782 INFO L732 BasicCegarLoop]: Path program histogram: [1, 1, 1, 1] [2022-02-20 21:00:17,782 WARN L235 ceAbstractionStarter]: 2 thread instances were not sufficient, I will increase this number and restart the analysis [2022-02-20 21:00:17,782 INFO L534 ceAbstractionStarter]: Constructing petrified ICFG for 3 thread instances. [2022-02-20 21:00:17,792 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of3ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,792 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of3ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,792 WARN L322 ript$VariableManager]: TermVariabe threadThread3of3ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,792 WARN L322 ript$VariableManager]: TermVariabe threadThread3of3ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,792 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of3ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,792 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of3ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,792 WARN L322 ript$VariableManager]: TermVariabe threadThread3of3ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,792 WARN L322 ript$VariableManager]: TermVariabe threadThread3of3ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,792 WARN L322 ript$VariableManager]: TermVariabe threadThread3of3ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,792 WARN L322 ript$VariableManager]: TermVariabe threadThread3of3ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,792 WARN L322 ript$VariableManager]: TermVariabe threadThread3of3ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,793 WARN L322 ript$VariableManager]: TermVariabe threadThread3of3ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,793 WARN L322 ript$VariableManager]: TermVariabe threadThread3of3ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,793 WARN L322 ript$VariableManager]: TermVariabe threadThread3of3ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,793 WARN L322 ript$VariableManager]: TermVariabe threadThread3of3ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,793 WARN L322 ript$VariableManager]: TermVariabe threadThread3of3ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,793 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of3ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,793 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of3ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,793 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of3ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,793 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of3ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,793 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of3ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,793 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of3ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,793 WARN L322 ript$VariableManager]: TermVariabe threadThread2of3ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,793 WARN L322 ript$VariableManager]: TermVariabe threadThread2of3ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,793 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of3ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,793 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of3ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,793 WARN L322 ript$VariableManager]: TermVariabe threadThread2of3ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,794 WARN L322 ript$VariableManager]: TermVariabe threadThread2of3ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,794 WARN L322 ript$VariableManager]: TermVariabe threadThread2of3ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,794 WARN L322 ript$VariableManager]: TermVariabe threadThread2of3ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,794 WARN L322 ript$VariableManager]: TermVariabe threadThread2of3ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,794 WARN L322 ript$VariableManager]: TermVariabe threadThread2of3ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,794 WARN L322 ript$VariableManager]: TermVariabe threadThread2of3ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,794 WARN L322 ript$VariableManager]: TermVariabe threadThread2of3ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,794 WARN L322 ript$VariableManager]: TermVariabe threadThread2of3ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,794 WARN L322 ript$VariableManager]: TermVariabe threadThread2of3ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,794 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of3ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,794 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of3ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,794 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of3ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,794 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of3ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,794 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of3ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,794 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of3ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,794 WARN L322 ript$VariableManager]: TermVariabe threadThread1of3ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,794 WARN L322 ript$VariableManager]: TermVariabe threadThread1of3ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,795 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of3ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,795 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of3ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,795 WARN L322 ript$VariableManager]: TermVariabe threadThread1of3ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,795 WARN L322 ript$VariableManager]: TermVariabe threadThread1of3ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,795 WARN L322 ript$VariableManager]: TermVariabe threadThread1of3ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,795 WARN L322 ript$VariableManager]: TermVariabe threadThread1of3ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,795 WARN L322 ript$VariableManager]: TermVariabe threadThread1of3ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,795 WARN L322 ript$VariableManager]: TermVariabe threadThread1of3ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,795 WARN L322 ript$VariableManager]: TermVariabe threadThread1of3ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,795 WARN L322 ript$VariableManager]: TermVariabe threadThread1of3ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,795 WARN L322 ript$VariableManager]: TermVariabe threadThread1of3ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,795 WARN L322 ript$VariableManager]: TermVariabe threadThread1of3ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,795 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of3ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,795 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of3ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,795 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of3ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,795 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of3ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,796 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of3ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,796 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of3ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,796 WARN L322 ript$VariableManager]: TermVariabe threadThread1of3ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,796 WARN L322 ript$VariableManager]: TermVariabe threadThread1of3ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,796 WARN L322 ript$VariableManager]: TermVariabe threadThread1of3ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,796 WARN L322 ript$VariableManager]: TermVariabe threadThread2of3ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,797 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of3ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,797 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of3ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,797 WARN L322 ript$VariableManager]: TermVariabe threadThread2of3ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,797 WARN L322 ript$VariableManager]: TermVariabe threadThread2of3ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,797 WARN L322 ript$VariableManager]: TermVariabe threadThread3of3ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,797 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of3ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,797 WARN L322 ript$VariableManager]: TermVariabe threadThread3of3ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,797 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of3ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,797 WARN L322 ript$VariableManager]: TermVariabe threadThread3of3ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:17,803 INFO L148 ThreadInstanceAdder]: Constructed 3 joinOtherThreadTransitions. [2022-02-20 21:00:17,804 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 21:00:17,804 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:17,804 INFO L340 AbstractCegarLoop]: Starting to check reachability of 2 error locations. [2022-02-20 21:00:17,805 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 74 places, 73 transitions, 176 flow [2022-02-20 21:00:17,818 INFO L129 PetriNetUnfolder]: 24/222 cut-off events. [2022-02-20 21:00:17,818 INFO L130 PetriNetUnfolder]: For 19/19 co-relation queries the response was YES. [2022-02-20 21:00:17,818 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:17,818 INFO L82 GeneralOperation]: Start removeDead. Operand has 74 places, 73 transitions, 176 flow [2022-02-20 21:00:17,819 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 58 places, 52 transitions, 125 flow [2022-02-20 21:00:17,820 INFO L129 PetriNetUnfolder]: 1/25 cut-off events. [2022-02-20 21:00:17,820 INFO L130 PetriNetUnfolder]: For 0/0 co-relation queries the response was YES. [2022-02-20 21:00:17,820 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 21:00:17,820 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:17,820 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 21:00:17,821 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:00:17,821 INFO L85 PathProgramCache]: Analyzing trace with hash 898626907, now seen corresponding path program 1 times [2022-02-20 21:00:17,821 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:00:17,821 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1767340863] [2022-02-20 21:00:17,821 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:17,821 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:00:17,827 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:17,837 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:17,837 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:17,838 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:17,838 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:17,839 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:17,840 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:17,840 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:17,840 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:17,840 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:17,841 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:17,841 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:17,841 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:17,842 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:17,843 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:17,844 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:17,844 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:17,844 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:17,844 INFO L290 TraceCheckUtils]: 17: Hoare triple {77#true} [224] L719-->L719-1: Formula: (and (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 104) |v_#length_3|) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_2|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_2| 0) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2| 1)) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] {77#true} is VALID [2022-02-20 21:00:17,844 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:17,844 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:17,845 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:17,845 INFO L290 TraceCheckUtils]: 21: Hoare triple {78#false} [227] L723-6-->L727: Formula: (not (< v_~x~0_4 26)) 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:17,845 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:17,845 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:17,846 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:00:17,846 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1767340863] [2022-02-20 21:00:17,846 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1767340863] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 21:00:17,846 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 21:00:17,846 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 21:00:17,846 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1941407925] [2022-02-20 21:00:17,846 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 21:00:17,847 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:17,847 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:00:17,847 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:17,859 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:17,859 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-02-20 21:00:17,859 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:00:17,859 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-02-20 21:00:17,859 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 21:00:17,860 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 63 out of 73 [2022-02-20 21:00:17,860 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:17,860 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 21:00:17,860 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 63 of 73 [2022-02-20 21:00:17,860 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 21:00:17,870 INFO L129 PetriNetUnfolder]: 0/82 cut-off events. [2022-02-20 21:00:17,870 INFO L130 PetriNetUnfolder]: For 13/13 co-relation queries the response was YES. [2022-02-20 21:00:17,870 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:17,871 INFO L132 encePairwiseOnDemand]: 72/73 looper letters, 3 selfloop transitions, 0 changer transitions 0/51 dead transitions. [2022-02-20 21:00:17,871 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 59 places, 51 transitions, 129 flow [2022-02-20 21:00:17,871 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-02-20 21:00:17,871 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2022-02-20 21:00:17,872 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 130 transitions. [2022-02-20 21:00:17,872 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.8904109589041096 [2022-02-20 21:00:17,872 INFO L72 ComplementDD]: Start complementDD. Operand 2 states and 130 transitions. [2022-02-20 21:00:17,873 INFO L73 IsDeterministic]: Start isDeterministic. Operand 2 states and 130 transitions. [2022-02-20 21:00:17,873 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 21:00:17,873 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 2 states and 130 transitions. [2022-02-20 21:00:17,873 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:17,874 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:17,874 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:17,874 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:17,874 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 59 places, 51 transitions, 129 flow [2022-02-20 21:00:17,875 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:17,875 INFO L242 Difference]: Finished difference. Result has 59 places, 51 transitions, 117 flow [2022-02-20 21:00:17,876 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:17,876 INFO L334 CegarLoopForPetriNet]: 58 programPoint places, 1 predicate places. [2022-02-20 21:00:17,876 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 59 places, 51 transitions, 117 flow [2022-02-20 21:00:17,964 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:17,979 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:17,979 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:00:17,980 INFO L470 AbstractCegarLoop]: Abstraction has has 59 places, 51 transitions, 117 flow [2022-02-20 21:00:17,980 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:17,980 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 21:00:17,980 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:17,980 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8 [2022-02-20 21:00:17,980 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 21:00:17,981 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:00:17,981 INFO L85 PathProgramCache]: Analyzing trace with hash 898627868, now seen corresponding path program 1 times [2022-02-20 21:00:17,981 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:00:17,981 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [265318605] [2022-02-20 21:00:17,981 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:17,981 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:00:17,988 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:17,999 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:17,999 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:18,000 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:18,000 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:18,000 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:18,000 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:18,000 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:18,000 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:18,000 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:18,001 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:18,001 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:18,001 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:18,001 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:18,001 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:18,001 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:18,002 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:18,002 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:18,002 INFO L290 TraceCheckUtils]: 17: Hoare triple {3679#true} [224] L719-->L719-1: Formula: (and (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 104) |v_#length_3|) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_2|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_2| 0) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2| 1)) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] {3679#true} is VALID [2022-02-20 21:00:18,002 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:18,002 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:18,003 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| 25)) 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:18,003 INFO L290 TraceCheckUtils]: 21: Hoare triple {3680#false} [227] L723-6-->L727: Formula: (not (< v_~x~0_4 26)) 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:18,003 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:18,003 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:18,004 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:00:18,004 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [265318605] [2022-02-20 21:00:18,004 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [265318605] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 21:00:18,004 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 21:00:18,004 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 21:00:18,004 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1641047962] [2022-02-20 21:00:18,004 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 21:00:18,005 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:18,005 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:00:18,005 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:18,015 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:18,016 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 21:00:18,016 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:00:18,016 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 21:00:18,016 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 21:00:18,017 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 56 out of 73 [2022-02-20 21:00:18,017 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:18,017 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 21:00:18,017 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 56 of 73 [2022-02-20 21:00:18,017 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 21:00:18,039 INFO L129 PetriNetUnfolder]: 0/79 cut-off events. [2022-02-20 21:00:18,040 INFO L130 PetriNetUnfolder]: For 2/2 co-relation queries the response was YES. [2022-02-20 21:00:18,040 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:18,040 INFO L132 encePairwiseOnDemand]: 70/73 looper letters, 12 selfloop transitions, 2 changer transitions 0/55 dead transitions. [2022-02-20 21:00:18,040 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 61 places, 55 transitions, 153 flow [2022-02-20 21:00:18,040 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 21:00:18,040 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2022-02-20 21:00:18,042 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 183 transitions. [2022-02-20 21:00:18,042 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.8356164383561644 [2022-02-20 21:00:18,042 INFO L72 ComplementDD]: Start complementDD. Operand 3 states and 183 transitions. [2022-02-20 21:00:18,042 INFO L73 IsDeterministic]: Start isDeterministic. Operand 3 states and 183 transitions. [2022-02-20 21:00:18,042 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 21:00:18,043 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 3 states and 183 transitions. [2022-02-20 21:00:18,043 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:18,044 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:18,044 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:18,044 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:18,044 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 61 places, 55 transitions, 153 flow [2022-02-20 21:00:18,045 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:18,046 INFO L242 Difference]: Finished difference. Result has 62 places, 52 transitions, 129 flow [2022-02-20 21:00:18,046 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:18,046 INFO L334 CegarLoopForPetriNet]: 58 programPoint places, 4 predicate places. [2022-02-20 21:00:18,047 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 62 places, 52 transitions, 129 flow [2022-02-20 21:00:18,121 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:18,129 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:18,129 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:00:18,129 INFO L470 AbstractCegarLoop]: Abstraction has has 62 places, 52 transitions, 129 flow [2022-02-20 21:00:18,130 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:18,130 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 21:00:18,130 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:18,130 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9 [2022-02-20 21:00:18,130 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 21:00:18,131 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:00:18,131 INFO L85 PathProgramCache]: Analyzing trace with hash 1823512938, now seen corresponding path program 1 times [2022-02-20 21:00:18,131 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:00:18,131 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [856342229] [2022-02-20 21:00:18,131 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:18,131 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:00:18,138 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:18,156 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:18,156 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:18,156 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:18,156 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:18,156 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:18,156 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:18,156 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:18,156 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:18,156 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:18,157 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:18,157 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:18,157 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:18,157 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:18,157 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:18,157 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:18,157 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:18,157 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:18,157 INFO L290 TraceCheckUtils]: 17: Hoare triple {7280#true} [224] L719-->L719-1: Formula: (and (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 104) |v_#length_3|) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_2|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_2| 0) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2| 1)) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] {7280#true} is VALID [2022-02-20 21:00:18,158 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:18,158 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:18,159 INFO L290 TraceCheckUtils]: 20: Hoare triple {7282#(= ~x~0 0)} [244] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 25) 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:18,159 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:18,159 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:18,160 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:18,160 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:18,160 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:18,160 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:18,161 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:18,161 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:18,161 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:18,162 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| 25)) 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:18,162 INFO L290 TraceCheckUtils]: 31: Hoare triple {7282#(= ~x~0 0)} [227] L723-6-->L727: Formula: (not (< v_~x~0_4 26)) 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:18,162 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:18,162 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:18,162 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:00:18,162 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [856342229] [2022-02-20 21:00:18,163 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [856342229] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 21:00:18,163 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 21:00:18,163 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 21:00:18,163 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [734024162] [2022-02-20 21:00:18,163 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 21:00:18,163 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:18,163 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:00:18,163 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:18,181 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:18,181 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 21:00:18,181 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:00:18,181 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 21:00:18,181 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 21:00:18,182 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 56 out of 73 [2022-02-20 21:00:18,182 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:18,182 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 21:00:18,182 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 56 of 73 [2022-02-20 21:00:18,182 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 21:00:18,207 INFO L129 PetriNetUnfolder]: 21/145 cut-off events. [2022-02-20 21:00:18,207 INFO L130 PetriNetUnfolder]: For 20/20 co-relation queries the response was YES. [2022-02-20 21:00:18,208 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:18,208 INFO L132 encePairwiseOnDemand]: 68/73 looper letters, 10 selfloop transitions, 4 changer transitions 0/57 dead transitions. [2022-02-20 21:00:18,208 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 64 places, 57 transitions, 177 flow [2022-02-20 21:00:18,208 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 21:00:18,209 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2022-02-20 21:00:18,210 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 183 transitions. [2022-02-20 21:00:18,210 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.8356164383561644 [2022-02-20 21:00:18,210 INFO L72 ComplementDD]: Start complementDD. Operand 3 states and 183 transitions. [2022-02-20 21:00:18,210 INFO L73 IsDeterministic]: Start isDeterministic. Operand 3 states and 183 transitions. [2022-02-20 21:00:18,211 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 21:00:18,211 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 3 states and 183 transitions. [2022-02-20 21:00:18,211 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:18,212 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:18,212 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:18,212 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:18,212 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 64 places, 57 transitions, 177 flow [2022-02-20 21:00:18,213 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:18,214 INFO L242 Difference]: Finished difference. Result has 64 places, 55 transitions, 153 flow [2022-02-20 21:00:18,214 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:18,214 INFO L334 CegarLoopForPetriNet]: 58 programPoint places, 6 predicate places. [2022-02-20 21:00:18,214 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 64 places, 55 transitions, 153 flow [2022-02-20 21:00:18,277 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:18,287 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:18,288 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:00:18,288 INFO L470 AbstractCegarLoop]: Abstraction has has 64 places, 55 transitions, 153 flow [2022-02-20 21:00:18,288 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:18,288 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 21:00:18,288 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:18,289 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10 [2022-02-20 21:00:18,289 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 21:00:18,289 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:00:18,289 INFO L85 PathProgramCache]: Analyzing trace with hash 1587743943, now seen corresponding path program 1 times [2022-02-20 21:00:18,289 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:00:18,290 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [819515844] [2022-02-20 21:00:18,290 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:18,290 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:00:18,300 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:18,321 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:18,321 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:18,321 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:18,321 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:18,322 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:18,322 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:18,322 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:18,322 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:18,322 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:18,322 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:18,322 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:18,323 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:18,323 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:18,323 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:18,323 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:18,323 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:18,323 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:18,324 INFO L290 TraceCheckUtils]: 17: Hoare triple {10803#true} [224] L719-->L719-1: Formula: (and (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 104) |v_#length_3|) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_2|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_2| 0) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2| 1)) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] {10803#true} is VALID [2022-02-20 21:00:18,324 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:18,326 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:18,326 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| 25) 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:18,326 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:18,327 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:18,327 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:18,328 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:18,334 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:18,335 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:18,335 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:18,336 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:18,336 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:18,336 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| 25)) 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:18,337 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:18,337 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:18,337 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:18,337 INFO L290 TraceCheckUtils]: 34: Hoare triple {10804#false} [227] L723-6-->L727: Formula: (not (< v_~x~0_4 26)) 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:18,337 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:18,337 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 21:00:18,338 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:00:18,338 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [819515844] [2022-02-20 21:00:18,338 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [819515844] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 21:00:18,338 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [945069144] [2022-02-20 21:00:18,338 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:18,338 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 21:00:18,338 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 21:00:18,339 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:18,358 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:18,394 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:18,395 INFO L263 TraceCheckSpWp]: Trace formula consists of 91 conjuncts, 4 conjunts are in the unsatisfiable core [2022-02-20 21:00:18,407 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:18,408 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 21:00:18,539 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:18,539 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:18,539 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:18,539 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:18,540 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:18,540 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:18,540 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:18,540 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:18,540 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:18,540 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:18,540 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:18,541 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:18,541 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:18,541 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:18,542 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:18,542 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:18,552 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:18,553 INFO L290 TraceCheckUtils]: 17: Hoare triple {10803#true} [224] L719-->L719-1: Formula: (and (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 104) |v_#length_3|) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_2|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_2| 0) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2| 1)) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] {10803#true} is VALID [2022-02-20 21:00:18,553 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:18,553 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:18,554 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| 25) 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:18,554 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:18,555 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:18,555 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:18,555 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:18,556 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:18,556 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:18,557 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:18,557 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:18,558 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:18,558 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| 25)) 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:18,558 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:18,558 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:18,558 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:18,558 INFO L290 TraceCheckUtils]: 34: Hoare triple {10804#false} [227] L723-6-->L727: Formula: (not (< v_~x~0_4 26)) 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:18,559 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:18,559 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:18,560 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 21:00:18,664 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:18,664 INFO L290 TraceCheckUtils]: 34: Hoare triple {10804#false} [227] L723-6-->L727: Formula: (not (< v_~x~0_4 26)) 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:18,664 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:18,664 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:18,664 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:18,665 INFO L290 TraceCheckUtils]: 30: Hoare triple {10933#(<= |ULTIMATE.start_main_~i~0#1| 25)} [243] L723-5-->L723-6: Formula: (not (<= |v_ULTIMATE.start_main_~i~0#1_3| 25)) 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:18,665 INFO L290 TraceCheckUtils]: 29: Hoare triple {10933#(<= |ULTIMATE.start_main_~i~0#1| 25)} [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| 25)} is VALID [2022-02-20 21:00:18,665 INFO L290 TraceCheckUtils]: 28: Hoare triple {10940#(<= |ULTIMATE.start_main_#t~post1#1| 24)} [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| 25)} is VALID [2022-02-20 21:00:18,666 INFO L290 TraceCheckUtils]: 27: Hoare triple {10944#(<= |ULTIMATE.start_main_~i~0#1| 24)} [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| 24)} is VALID [2022-02-20 21:00:18,666 INFO L290 TraceCheckUtils]: 26: Hoare triple {10944#(<= |ULTIMATE.start_main_~i~0#1| 24)} [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| 24)} is VALID [2022-02-20 21:00:18,666 INFO L290 TraceCheckUtils]: 25: Hoare triple {10944#(<= |ULTIMATE.start_main_~i~0#1| 24)} [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| 24)} is VALID [2022-02-20 21:00:18,667 INFO L290 TraceCheckUtils]: 24: Hoare triple {10944#(<= |ULTIMATE.start_main_~i~0#1| 24)} [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| 24)} is VALID [2022-02-20 21:00:18,667 INFO L290 TraceCheckUtils]: 23: Hoare triple {10944#(<= |ULTIMATE.start_main_~i~0#1| 24)} [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| 24)} is VALID [2022-02-20 21:00:18,667 INFO L290 TraceCheckUtils]: 22: Hoare triple {10944#(<= |ULTIMATE.start_main_~i~0#1| 24)} [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| 24)} is VALID [2022-02-20 21:00:18,668 INFO L290 TraceCheckUtils]: 21: Hoare triple {10944#(<= |ULTIMATE.start_main_~i~0#1| 24)} [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| 24)} is VALID [2022-02-20 21:00:18,668 INFO L290 TraceCheckUtils]: 20: Hoare triple {10944#(<= |ULTIMATE.start_main_~i~0#1| 24)} [244] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 25) 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| 24)} is VALID [2022-02-20 21:00:18,668 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| 24)} is VALID [2022-02-20 21:00:18,668 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:18,668 INFO L290 TraceCheckUtils]: 17: Hoare triple {10803#true} [224] L719-->L719-1: Formula: (and (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 104) |v_#length_3|) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_2|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_2| 0) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2| 1)) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] {10803#true} is VALID [2022-02-20 21:00:18,668 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:18,669 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:18,669 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:18,669 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:18,669 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:18,669 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:18,669 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:18,669 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:18,669 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:18,669 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:18,669 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:18,669 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:18,670 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:18,670 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:18,670 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:18,670 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:18,671 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:18,671 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:18,671 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [945069144] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 21:00:18,671 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 21:00:18,671 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 10 [2022-02-20 21:00:18,671 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1983753475] [2022-02-20 21:00:18,672 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 21:00:18,672 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:18,672 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:00:18,672 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:18,708 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:18,709 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-02-20 21:00:18,709 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:00:18,709 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-02-20 21:00:18,709 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=60, Unknown=0, NotChecked=0, Total=90 [2022-02-20 21:00:18,710 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 55 out of 73 [2022-02-20 21:00:18,711 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:18,712 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 21:00:18,712 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 55 of 73 [2022-02-20 21:00:18,712 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 21:00:18,816 INFO L129 PetriNetUnfolder]: 14/115 cut-off events. [2022-02-20 21:00:18,816 INFO L130 PetriNetUnfolder]: For 4/4 co-relation queries the response was YES. [2022-02-20 21:00:18,817 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:18,818 INFO L132 encePairwiseOnDemand]: 67/73 looper letters, 13 selfloop transitions, 9 changer transitions 0/65 dead transitions. [2022-02-20 21:00:18,818 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 72 places, 65 transitions, 219 flow [2022-02-20 21:00:18,818 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 21:00:18,818 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2022-02-20 21:00:18,823 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 519 transitions. [2022-02-20 21:00:18,823 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.7899543378995434 [2022-02-20 21:00:18,823 INFO L72 ComplementDD]: Start complementDD. Operand 9 states and 519 transitions. [2022-02-20 21:00:18,823 INFO L73 IsDeterministic]: Start isDeterministic. Operand 9 states and 519 transitions. [2022-02-20 21:00:18,824 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 21:00:18,824 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 9 states and 519 transitions. [2022-02-20 21:00:18,825 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:18,826 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:18,826 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:18,826 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:18,826 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 72 places, 65 transitions, 219 flow [2022-02-20 21:00:18,871 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:18,873 INFO L242 Difference]: Finished difference. Result has 74 places, 61 transitions, 199 flow [2022-02-20 21:00:18,873 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:18,875 INFO L334 CegarLoopForPetriNet]: 58 programPoint places, 16 predicate places. [2022-02-20 21:00:18,875 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 74 places, 61 transitions, 199 flow [2022-02-20 21:00:18,959 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:18,968 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:18,968 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:00:18,969 INFO L470 AbstractCegarLoop]: Abstraction has has 74 places, 61 transitions, 199 flow [2022-02-20 21:00:18,969 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:18,969 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 21:00:18,969 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:18,989 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-02-20 21:00:19,179 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:19,180 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr0INUSE_VIOLATION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 21:00:19,180 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:00:19,180 INFO L85 PathProgramCache]: Analyzing trace with hash 176735389, now seen corresponding path program 1 times [2022-02-20 21:00:19,180 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:00:19,180 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [857980640] [2022-02-20 21:00:19,180 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:19,180 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:00:19,195 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-02-20 21:00:19,195 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-02-20 21:00:19,201 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-02-20 21:00:19,207 INFO L138 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-02-20 21:00:19,207 INFO L628 BasicCegarLoop]: Counterexample is feasible [2022-02-20 21:00:19,207 INFO L764 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr0INUSE_VIOLATION (1 of 2 remaining) [2022-02-20 21:00:19,208 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 2 remaining) [2022-02-20 21:00:19,208 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable12 [2022-02-20 21:00:19,208 INFO L732 BasicCegarLoop]: Path program histogram: [1, 1, 1, 1, 1] [2022-02-20 21:00:19,208 WARN L235 ceAbstractionStarter]: 3 thread instances were not sufficient, I will increase this number and restart the analysis [2022-02-20 21:00:19,208 INFO L534 ceAbstractionStarter]: Constructing petrified ICFG for 4 thread instances. [2022-02-20 21:00:19,218 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of4ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,218 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of4ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,218 WARN L322 ript$VariableManager]: TermVariabe threadThread3of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,218 WARN L322 ript$VariableManager]: TermVariabe threadThread3of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,218 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of4ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,218 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of4ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,218 WARN L322 ript$VariableManager]: TermVariabe threadThread3of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,219 WARN L322 ript$VariableManager]: TermVariabe threadThread3of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,219 WARN L322 ript$VariableManager]: TermVariabe threadThread3of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,219 WARN L322 ript$VariableManager]: TermVariabe threadThread3of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,219 WARN L322 ript$VariableManager]: TermVariabe threadThread3of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,219 WARN L322 ript$VariableManager]: TermVariabe threadThread3of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,219 WARN L322 ript$VariableManager]: TermVariabe threadThread3of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,219 WARN L322 ript$VariableManager]: TermVariabe threadThread3of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,219 WARN L322 ript$VariableManager]: TermVariabe threadThread3of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,219 WARN L322 ript$VariableManager]: TermVariabe threadThread3of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,219 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of4ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,219 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of4ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,219 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of4ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,219 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of4ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,219 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of4ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,220 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of4ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,220 WARN L322 ript$VariableManager]: TermVariabe threadThread1of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,220 WARN L322 ript$VariableManager]: TermVariabe threadThread1of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,220 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of4ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,220 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of4ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,220 WARN L322 ript$VariableManager]: TermVariabe threadThread1of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,220 WARN L322 ript$VariableManager]: TermVariabe threadThread1of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,220 WARN L322 ript$VariableManager]: TermVariabe threadThread1of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,220 WARN L322 ript$VariableManager]: TermVariabe threadThread1of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,220 WARN L322 ript$VariableManager]: TermVariabe threadThread1of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,220 WARN L322 ript$VariableManager]: TermVariabe threadThread1of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,220 WARN L322 ript$VariableManager]: TermVariabe threadThread1of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,220 WARN L322 ript$VariableManager]: TermVariabe threadThread1of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,220 WARN L322 ript$VariableManager]: TermVariabe threadThread1of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,220 WARN L322 ript$VariableManager]: TermVariabe threadThread1of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,220 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of4ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,220 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of4ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,220 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of4ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,221 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of4ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,221 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of4ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,221 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of4ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,221 WARN L322 ript$VariableManager]: TermVariabe threadThread2of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,221 WARN L322 ript$VariableManager]: TermVariabe threadThread2of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,221 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of4ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,221 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of4ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,221 WARN L322 ript$VariableManager]: TermVariabe threadThread2of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,221 WARN L322 ript$VariableManager]: TermVariabe threadThread2of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,221 WARN L322 ript$VariableManager]: TermVariabe threadThread2of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,221 WARN L322 ript$VariableManager]: TermVariabe threadThread2of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,221 WARN L322 ript$VariableManager]: TermVariabe threadThread2of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,221 WARN L322 ript$VariableManager]: TermVariabe threadThread2of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,221 WARN L322 ript$VariableManager]: TermVariabe threadThread2of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,221 WARN L322 ript$VariableManager]: TermVariabe threadThread2of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,221 WARN L322 ript$VariableManager]: TermVariabe threadThread2of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,221 WARN L322 ript$VariableManager]: TermVariabe threadThread2of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,222 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of4ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,222 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of4ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,222 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of4ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,222 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of4ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,222 WARN L322 ript$VariableManager]: TermVariabe |threadThread4of4ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,222 WARN L322 ript$VariableManager]: TermVariabe |threadThread4of4ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,222 WARN L322 ript$VariableManager]: TermVariabe threadThread4of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,222 WARN L322 ript$VariableManager]: TermVariabe threadThread4of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,222 WARN L322 ript$VariableManager]: TermVariabe |threadThread4of4ForFork0_#in~arg.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,222 WARN L322 ript$VariableManager]: TermVariabe |threadThread4of4ForFork0_#in~arg.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,222 WARN L322 ript$VariableManager]: TermVariabe threadThread4of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,222 WARN L322 ript$VariableManager]: TermVariabe threadThread4of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,222 WARN L322 ript$VariableManager]: TermVariabe threadThread4of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,222 WARN L322 ript$VariableManager]: TermVariabe threadThread4of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,222 WARN L322 ript$VariableManager]: TermVariabe threadThread4of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,222 WARN L322 ript$VariableManager]: TermVariabe threadThread4of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,222 WARN L322 ript$VariableManager]: TermVariabe threadThread4of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,223 WARN L322 ript$VariableManager]: TermVariabe threadThread4of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,223 WARN L322 ript$VariableManager]: TermVariabe threadThread4of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,223 WARN L322 ript$VariableManager]: TermVariabe threadThread4of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,223 WARN L322 ript$VariableManager]: TermVariabe |threadThread4of4ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,223 WARN L322 ript$VariableManager]: TermVariabe |threadThread4of4ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,223 WARN L322 ript$VariableManager]: TermVariabe |threadThread4of4ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,223 WARN L322 ript$VariableManager]: TermVariabe |threadThread4of4ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,223 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of4ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,223 WARN L322 ript$VariableManager]: TermVariabe threadThread1of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,223 WARN L322 ript$VariableManager]: TermVariabe |threadThread1of4ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,223 WARN L322 ript$VariableManager]: TermVariabe threadThread1of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,223 WARN L322 ript$VariableManager]: TermVariabe threadThread1of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,224 WARN L322 ript$VariableManager]: TermVariabe threadThread2of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,224 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of4ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,224 WARN L322 ript$VariableManager]: TermVariabe threadThread2of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,224 WARN L322 ript$VariableManager]: TermVariabe threadThread2of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,224 WARN L322 ript$VariableManager]: TermVariabe |threadThread2of4ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,224 WARN L322 ript$VariableManager]: TermVariabe threadThread3of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,224 WARN L322 ript$VariableManager]: TermVariabe threadThread3of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,224 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of4ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,224 WARN L322 ript$VariableManager]: TermVariabe threadThread3of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,224 WARN L322 ript$VariableManager]: TermVariabe |threadThread3of4ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,225 WARN L322 ript$VariableManager]: TermVariabe |threadThread4of4ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,225 WARN L322 ript$VariableManager]: TermVariabe threadThread4of4ForFork0_~arg.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,225 WARN L322 ript$VariableManager]: TermVariabe threadThread4of4ForFork0_~thread~0 not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,225 WARN L322 ript$VariableManager]: TermVariabe |threadThread4of4ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,225 WARN L322 ript$VariableManager]: TermVariabe threadThread4of4ForFork0_~arg.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 21:00:19,231 INFO L148 ThreadInstanceAdder]: Constructed 4 joinOtherThreadTransitions. [2022-02-20 21:00:19,232 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 21:00:19,232 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:19,232 INFO L340 AbstractCegarLoop]: Starting to check reachability of 2 error locations. [2022-02-20 21:00:19,233 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 82 places, 80 transitions, 204 flow [2022-02-20 21:00:19,260 INFO L129 PetriNetUnfolder]: 47/377 cut-off events. [2022-02-20 21:00:19,261 INFO L130 PetriNetUnfolder]: For 48/48 co-relation queries the response was YES. [2022-02-20 21:00:19,262 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:19,262 INFO L82 GeneralOperation]: Start removeDead. Operand has 82 places, 80 transitions, 204 flow [2022-02-20 21:00:19,262 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 66 places, 58 transitions, 148 flow [2022-02-20 21:00:19,264 INFO L129 PetriNetUnfolder]: 1/26 cut-off events. [2022-02-20 21:00:19,264 INFO L130 PetriNetUnfolder]: For 0/0 co-relation queries the response was YES. [2022-02-20 21:00:19,264 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 21:00:19,264 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:19,265 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 21:00:19,265 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:00:19,265 INFO L85 PathProgramCache]: Analyzing trace with hash -2143368340, now seen corresponding path program 1 times [2022-02-20 21:00:19,265 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:00:19,265 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1989182369] [2022-02-20 21:00:19,265 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:19,266 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:00:19,275 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:19,286 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:19,286 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:19,287 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:19,287 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:19,287 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:19,287 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:19,287 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:19,287 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:19,287 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:19,288 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:19,288 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:19,288 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:19,288 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:19,288 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:19,288 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:19,288 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:19,289 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:19,289 INFO L290 TraceCheckUtils]: 17: Hoare triple {85#true} [304] L719-->L719-1: Formula: (and (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 104) |v_#length_3|) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_2|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_2| 0) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2| 1)) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] {85#true} is VALID [2022-02-20 21:00:19,289 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:19,289 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:19,290 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| 25)) 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:19,290 INFO L290 TraceCheckUtils]: 21: Hoare triple {86#false} [307] L723-6-->L727: Formula: (not (< v_~x~0_4 26)) 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:19,290 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:19,290 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:19,290 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:00:19,290 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1989182369] [2022-02-20 21:00:19,290 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1989182369] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 21:00:19,291 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 21:00:19,291 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 21:00:19,291 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1987675894] [2022-02-20 21:00:19,291 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 21:00:19,291 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:19,291 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:00:19,292 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:19,302 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:19,303 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 21:00:19,303 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:00:19,303 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 21:00:19,303 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 21:00:19,304 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 61 out of 80 [2022-02-20 21:00:19,304 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:19,304 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 21:00:19,304 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 61 of 80 [2022-02-20 21:00:19,304 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 21:00:19,372 INFO L129 PetriNetUnfolder]: 0/97 cut-off events. [2022-02-20 21:00:19,372 INFO L130 PetriNetUnfolder]: For 16/16 co-relation queries the response was YES. [2022-02-20 21:00:19,372 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:19,372 INFO L132 encePairwiseOnDemand]: 76/80 looper letters, 13 selfloop transitions, 2 changer transitions 0/61 dead transitions. [2022-02-20 21:00:19,372 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 68 places, 61 transitions, 184 flow [2022-02-20 21:00:19,372 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 21:00:19,372 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2022-02-20 21:00:19,374 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 201 transitions. [2022-02-20 21:00:19,374 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.8375 [2022-02-20 21:00:19,374 INFO L72 ComplementDD]: Start complementDD. Operand 3 states and 201 transitions. [2022-02-20 21:00:19,375 INFO L73 IsDeterministic]: Start isDeterministic. Operand 3 states and 201 transitions. [2022-02-20 21:00:19,375 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 21:00:19,375 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 3 states and 201 transitions. [2022-02-20 21:00:19,375 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:19,376 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:19,376 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:19,376 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:19,376 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 68 places, 61 transitions, 184 flow [2022-02-20 21:00:19,376 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:19,377 INFO L242 Difference]: Finished difference. Result has 69 places, 58 transitions, 146 flow [2022-02-20 21:00:19,377 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:19,378 INFO L334 CegarLoopForPetriNet]: 66 programPoint places, 3 predicate places. [2022-02-20 21:00:19,378 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 69 places, 58 transitions, 146 flow [2022-02-20 21:00:19,846 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:19,942 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:19,943 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:00:19,943 INFO L470 AbstractCegarLoop]: Abstraction has has 69 places, 58 transitions, 146 flow [2022-02-20 21:00:19,943 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:19,943 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 21:00:19,943 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:19,943 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable13 [2022-02-20 21:00:19,943 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 21:00:19,944 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:00:19,944 INFO L85 PathProgramCache]: Analyzing trace with hash -184146753, now seen corresponding path program 1 times [2022-02-20 21:00:19,944 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:00:19,944 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [990367271] [2022-02-20 21:00:19,944 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:19,944 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:00:19,951 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:19,961 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:19,961 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:19,961 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:19,961 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:19,961 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:19,961 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:19,961 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:19,962 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:19,962 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:19,962 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:19,962 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:19,962 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:19,962 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:19,962 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:19,962 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:19,962 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:19,962 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:19,962 INFO L290 TraceCheckUtils]: 17: Hoare triple {21614#true} [304] L719-->L719-1: Formula: (and (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 104) |v_#length_3|) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_2|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_2| 0) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2| 1)) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] {21614#true} is VALID [2022-02-20 21:00:19,963 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:19,963 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:19,963 INFO L290 TraceCheckUtils]: 20: Hoare triple {21616#(= ~x~0 0)} [324] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 25) 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:19,963 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:19,964 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:19,964 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:19,964 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:19,964 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:19,964 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:19,965 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:19,965 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:19,965 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:19,965 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| 25)) 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:19,966 INFO L290 TraceCheckUtils]: 31: Hoare triple {21616#(= ~x~0 0)} [307] L723-6-->L727: Formula: (not (< v_~x~0_4 26)) 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:19,966 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:19,966 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:19,966 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:00:19,966 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [990367271] [2022-02-20 21:00:19,966 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [990367271] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 21:00:19,966 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 21:00:19,966 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 21:00:19,967 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1846814185] [2022-02-20 21:00:19,967 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 21:00:19,967 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:19,967 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:00:19,967 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:19,985 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:19,985 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 21:00:19,985 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:00:19,986 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 21:00:19,986 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 21:00:19,986 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 60 out of 80 [2022-02-20 21:00:19,986 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:19,986 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 21:00:19,986 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 60 of 80 [2022-02-20 21:00:19,986 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 21:00:20,028 INFO L129 PetriNetUnfolder]: 73/359 cut-off events. [2022-02-20 21:00:20,028 INFO L130 PetriNetUnfolder]: For 44/44 co-relation queries the response was YES. [2022-02-20 21:00:20,029 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:20,031 INFO L132 encePairwiseOnDemand]: 74/80 looper letters, 13 selfloop transitions, 5 changer transitions 0/65 dead transitions. [2022-02-20 21:00:20,031 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 71 places, 65 transitions, 211 flow [2022-02-20 21:00:20,031 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 21:00:20,031 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2022-02-20 21:00:20,033 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 199 transitions. [2022-02-20 21:00:20,033 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.8291666666666667 [2022-02-20 21:00:20,033 INFO L72 ComplementDD]: Start complementDD. Operand 3 states and 199 transitions. [2022-02-20 21:00:20,033 INFO L73 IsDeterministic]: Start isDeterministic. Operand 3 states and 199 transitions. [2022-02-20 21:00:20,033 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 21:00:20,033 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 3 states and 199 transitions. [2022-02-20 21:00:20,034 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:20,034 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:20,034 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:20,034 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:20,034 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 71 places, 65 transitions, 211 flow [2022-02-20 21:00:20,037 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:20,038 INFO L242 Difference]: Finished difference. Result has 71 places, 62 transitions, 177 flow [2022-02-20 21:00:20,038 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:20,038 INFO L334 CegarLoopForPetriNet]: 66 programPoint places, 5 predicate places. [2022-02-20 21:00:20,039 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 71 places, 62 transitions, 177 flow [2022-02-20 21:00:20,556 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:20,596 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:20,596 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:00:20,596 INFO L470 AbstractCegarLoop]: Abstraction has has 71 places, 62 transitions, 177 flow [2022-02-20 21:00:20,596 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:20,596 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 21:00:20,596 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:20,596 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable14 [2022-02-20 21:00:20,597 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 21:00:20,597 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:00:20,597 INFO L85 PathProgramCache]: Analyzing trace with hash -1187205763, now seen corresponding path program 1 times [2022-02-20 21:00:20,597 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:00:20,597 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1290038196] [2022-02-20 21:00:20,597 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:20,597 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:00:20,608 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:20,640 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:20,641 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:20,641 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:20,641 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:20,641 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:20,641 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:20,641 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:20,641 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:20,641 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:20,641 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:20,641 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:20,641 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:20,641 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:20,641 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:20,642 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:20,642 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:20,642 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:20,642 INFO L290 TraceCheckUtils]: 17: Hoare triple {42903#true} [304] L719-->L719-1: Formula: (and (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 104) |v_#length_3|) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_2|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_2| 0) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2| 1)) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] {42903#true} is VALID [2022-02-20 21:00:20,642 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:20,642 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:20,642 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| 25) 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:20,643 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:20,643 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:20,643 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:20,643 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:20,644 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:20,644 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:20,644 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:20,645 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:20,645 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:20,645 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| 25)) 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:20,645 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:20,645 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:20,645 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:20,645 INFO L290 TraceCheckUtils]: 34: Hoare triple {42904#false} [307] L723-6-->L727: Formula: (not (< v_~x~0_4 26)) 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:20,646 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:20,646 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:20,646 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:00:20,646 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1290038196] [2022-02-20 21:00:20,646 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1290038196] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 21:00:20,646 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [376859569] [2022-02-20 21:00:20,646 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:20,646 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 21:00:20,646 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 21:00:20,660 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:20,661 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:20,706 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:20,707 INFO L263 TraceCheckSpWp]: Trace formula consists of 91 conjuncts, 4 conjunts are in the unsatisfiable core [2022-02-20 21:00:20,713 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:20,714 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 21:00:20,847 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:20,848 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:20,848 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:20,848 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:20,848 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:20,848 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:20,848 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:20,849 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:20,849 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:20,849 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:20,849 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:20,849 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:20,849 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:20,849 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:20,849 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:20,850 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:20,850 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:20,850 INFO L290 TraceCheckUtils]: 17: Hoare triple {42903#true} [304] L719-->L719-1: Formula: (and (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 104) |v_#length_3|) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_2|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_2| 0) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2| 1)) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] {42903#true} is VALID [2022-02-20 21:00:20,850 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:20,850 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:20,851 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| 25) 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:20,851 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:20,851 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:20,852 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:20,852 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:20,852 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:20,853 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:20,853 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:20,854 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:20,854 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:20,854 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| 25)) 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:20,854 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:20,855 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:20,855 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:20,855 INFO L290 TraceCheckUtils]: 34: Hoare triple {42904#false} [307] L723-6-->L727: Formula: (not (< v_~x~0_4 26)) 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:20,855 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:20,855 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:20,855 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 21:00:20,952 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:20,952 INFO L290 TraceCheckUtils]: 34: Hoare triple {42904#false} [307] L723-6-->L727: Formula: (not (< v_~x~0_4 26)) 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:20,952 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:20,952 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:20,952 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:20,953 INFO L290 TraceCheckUtils]: 30: Hoare triple {43033#(<= |ULTIMATE.start_main_~i~0#1| 25)} [323] L723-5-->L723-6: Formula: (not (<= |v_ULTIMATE.start_main_~i~0#1_3| 25)) 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:20,953 INFO L290 TraceCheckUtils]: 29: Hoare triple {43033#(<= |ULTIMATE.start_main_~i~0#1| 25)} [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| 25)} is VALID [2022-02-20 21:00:20,953 INFO L290 TraceCheckUtils]: 28: Hoare triple {43040#(<= |ULTIMATE.start_main_#t~post1#1| 24)} [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| 25)} is VALID [2022-02-20 21:00:20,954 INFO L290 TraceCheckUtils]: 27: Hoare triple {43044#(<= |ULTIMATE.start_main_~i~0#1| 24)} [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| 24)} is VALID [2022-02-20 21:00:20,954 INFO L290 TraceCheckUtils]: 26: Hoare triple {43044#(<= |ULTIMATE.start_main_~i~0#1| 24)} [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| 24)} is VALID [2022-02-20 21:00:20,954 INFO L290 TraceCheckUtils]: 25: Hoare triple {43044#(<= |ULTIMATE.start_main_~i~0#1| 24)} [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| 24)} is VALID [2022-02-20 21:00:20,955 INFO L290 TraceCheckUtils]: 24: Hoare triple {43044#(<= |ULTIMATE.start_main_~i~0#1| 24)} [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| 24)} is VALID [2022-02-20 21:00:20,955 INFO L290 TraceCheckUtils]: 23: Hoare triple {43044#(<= |ULTIMATE.start_main_~i~0#1| 24)} [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| 24)} is VALID [2022-02-20 21:00:20,956 INFO L290 TraceCheckUtils]: 22: Hoare triple {43044#(<= |ULTIMATE.start_main_~i~0#1| 24)} [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| 24)} is VALID [2022-02-20 21:00:20,956 INFO L290 TraceCheckUtils]: 21: Hoare triple {43044#(<= |ULTIMATE.start_main_~i~0#1| 24)} [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| 24)} is VALID [2022-02-20 21:00:20,956 INFO L290 TraceCheckUtils]: 20: Hoare triple {43044#(<= |ULTIMATE.start_main_~i~0#1| 24)} [324] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 25) 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| 24)} is VALID [2022-02-20 21:00:20,956 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| 24)} is VALID [2022-02-20 21:00:20,957 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:20,957 INFO L290 TraceCheckUtils]: 17: Hoare triple {42903#true} [304] L719-->L719-1: Formula: (and (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 104) |v_#length_3|) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_2|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_2| 0) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2| 1)) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] {42903#true} is VALID [2022-02-20 21:00:20,957 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:20,957 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:20,957 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:20,957 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:20,957 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:20,958 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:20,958 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:20,958 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:20,958 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:20,958 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:20,958 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:20,958 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:20,958 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:20,959 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:20,959 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:20,959 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:20,959 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:20,959 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:20,959 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [376859569] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 21:00:20,959 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 21:00:20,960 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 10 [2022-02-20 21:00:20,960 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1044196505] [2022-02-20 21:00:20,961 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 21:00:20,961 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:20,961 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:00:20,961 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:20,989 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:20,990 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-02-20 21:00:20,990 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:00:20,990 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-02-20 21:00:20,990 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=60, Unknown=0, NotChecked=0, Total=90 [2022-02-20 21:00:20,990 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 60 out of 80 [2022-02-20 21:00:20,991 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:20,991 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 21:00:20,991 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 60 of 80 [2022-02-20 21:00:20,991 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 21:00:21,183 INFO L129 PetriNetUnfolder]: 54/233 cut-off events. [2022-02-20 21:00:21,183 INFO L130 PetriNetUnfolder]: For 5/5 co-relation queries the response was YES. [2022-02-20 21:00:21,184 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:21,185 INFO L132 encePairwiseOnDemand]: 74/80 looper letters, 14 selfloop transitions, 9 changer transitions 0/72 dead transitions. [2022-02-20 21:00:21,185 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 79 places, 72 transitions, 245 flow [2022-02-20 21:00:21,185 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 21:00:21,185 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2022-02-20 21:00:21,190 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 565 transitions. [2022-02-20 21:00:21,190 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.7847222222222222 [2022-02-20 21:00:21,190 INFO L72 ComplementDD]: Start complementDD. Operand 9 states and 565 transitions. [2022-02-20 21:00:21,190 INFO L73 IsDeterministic]: Start isDeterministic. Operand 9 states and 565 transitions. [2022-02-20 21:00:21,191 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 21:00:21,191 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 9 states and 565 transitions. [2022-02-20 21:00:21,192 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:21,193 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:21,193 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:21,193 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:21,193 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 79 places, 72 transitions, 245 flow [2022-02-20 21:00:23,422 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:23,423 INFO L242 Difference]: Finished difference. Result has 81 places, 68 transitions, 222 flow [2022-02-20 21:00:23,424 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:23,424 INFO L334 CegarLoopForPetriNet]: 66 programPoint places, 15 predicate places. [2022-02-20 21:00:23,424 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 81 places, 68 transitions, 222 flow [2022-02-20 21:00:23,869 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:23,909 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:23,909 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 21:00:23,909 INFO L470 AbstractCegarLoop]: Abstraction has has 81 places, 68 transitions, 222 flow [2022-02-20 21:00:23,909 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:23,910 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 21:00:23,910 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:23,929 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:24,127 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:24,128 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION] === [2022-02-20 21:00:24,128 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 21:00:24,128 INFO L85 PathProgramCache]: Analyzing trace with hash -909312246, now seen corresponding path program 1 times [2022-02-20 21:00:24,128 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 21:00:24,128 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1714174129] [2022-02-20 21:00:24,128 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:24,129 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 21:00:24,142 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:24,192 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:24,193 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:24,193 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:24,193 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:24,193 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:24,193 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:24,193 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:24,193 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:24,194 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:24,194 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:24,194 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:24,194 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:24,194 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:24,194 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:24,194 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:24,195 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:24,195 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:24,195 INFO L290 TraceCheckUtils]: 17: Hoare triple {64317#true} [304] L719-->L719-1: Formula: (and (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 104) |v_#length_3|) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_2|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_2| 0) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2| 1)) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] {64317#true} is VALID [2022-02-20 21:00:24,195 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:24,195 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:24,196 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| 25) 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:24,196 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:24,196 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:24,196 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:24,197 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:24,197 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:24,198 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:24,198 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:24,198 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:24,198 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:24,199 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:24,199 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:24,199 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:24,199 INFO L290 TraceCheckUtils]: 33: Hoare triple {64323#(<= ~x~0 1)} [324] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 25) 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:24,200 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:24,200 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:24,200 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:24,201 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:24,201 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:24,201 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:24,201 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:24,202 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:24,202 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:24,202 INFO L290 TraceCheckUtils]: 43: Hoare triple {64323#(<= ~x~0 1)} [324] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 25) 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:24,203 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:24,203 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:24,203 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:24,203 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:24,204 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:24,204 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:24,204 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:24,204 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:24,205 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:24,205 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| 25)) 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:24,205 INFO L290 TraceCheckUtils]: 54: Hoare triple {64323#(<= ~x~0 1)} [307] L723-6-->L727: Formula: (not (< v_~x~0_4 26)) 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:24,206 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:24,206 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:24,206 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 21:00:24,206 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1714174129] [2022-02-20 21:00:24,206 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1714174129] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 21:00:24,206 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1306298116] [2022-02-20 21:00:24,207 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 21:00:24,207 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 21:00:24,207 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 21:00:24,208 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:24,209 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:24,265 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:24,266 INFO L263 TraceCheckSpWp]: Trace formula consists of 135 conjuncts, 8 conjunts are in the unsatisfiable core [2022-02-20 21:00:24,276 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 21:00:24,277 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 21:00:24,504 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:24,504 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:24,505 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:24,505 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:24,505 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:24,505 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:24,505 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:24,505 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:24,505 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:24,505 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:24,506 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:24,506 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:24,506 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:24,506 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:24,506 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:24,506 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:24,506 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:24,507 INFO L290 TraceCheckUtils]: 17: Hoare triple {64317#true} [304] L719-->L719-1: Formula: (and (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 104) |v_#length_3|) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_2|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_2| 0) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2| 1)) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] {64317#true} is VALID [2022-02-20 21:00:24,507 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:24,507 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:24,508 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| 25) 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:24,508 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:24,509 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:24,509 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:24,509 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:24,510 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:24,514 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:24,515 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:24,515 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:24,516 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:24,517 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:24,518 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:24,520 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:24,521 INFO L290 TraceCheckUtils]: 33: Hoare triple {64323#(<= ~x~0 1)} [324] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 25) 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:24,521 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:24,521 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:24,522 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:24,522 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:24,522 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:24,523 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:24,523 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:24,523 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:24,523 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:24,524 INFO L290 TraceCheckUtils]: 43: Hoare triple {64323#(<= ~x~0 1)} [324] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 25) 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:24,524 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:24,525 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:24,525 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:24,526 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:24,526 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:24,526 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:24,526 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:24,527 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:24,527 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:24,527 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| 25)) 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:24,528 INFO L290 TraceCheckUtils]: 54: Hoare triple {64323#(<= ~x~0 1)} [307] L723-6-->L727: Formula: (not (< v_~x~0_4 26)) 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:24,528 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:24,528 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:24,528 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 21:00:24,760 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:24,761 INFO L290 TraceCheckUtils]: 54: Hoare triple {64498#(< ~x~0 26)} [307] L723-6-->L727: Formula: (not (< v_~x~0_4 26)) 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:24,761 INFO L290 TraceCheckUtils]: 53: Hoare triple {64498#(< ~x~0 26)} [323] L723-5-->L723-6: Formula: (not (<= |v_ULTIMATE.start_main_~i~0#1_3| 25)) 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 26)} is VALID [2022-02-20 21:00:24,761 INFO L290 TraceCheckUtils]: 52: Hoare triple {64498#(< ~x~0 26)} [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 26)} is VALID [2022-02-20 21:00:24,762 INFO L290 TraceCheckUtils]: 51: Hoare triple {64498#(< ~x~0 26)} [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 26)} is VALID [2022-02-20 21:00:24,762 INFO L290 TraceCheckUtils]: 50: Hoare triple {64498#(< ~x~0 26)} [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 26)} is VALID [2022-02-20 21:00:24,762 INFO L290 TraceCheckUtils]: 49: Hoare triple {64498#(< ~x~0 26)} [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 26)} is VALID [2022-02-20 21:00:24,762 INFO L290 TraceCheckUtils]: 48: Hoare triple {64498#(< ~x~0 26)} [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 26)} is VALID [2022-02-20 21:00:24,763 INFO L290 TraceCheckUtils]: 47: Hoare triple {64498#(< ~x~0 26)} [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 26)} is VALID [2022-02-20 21:00:24,764 INFO L290 TraceCheckUtils]: 46: Hoare triple {64498#(< ~x~0 26)} [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 26)} is VALID [2022-02-20 21:00:24,764 INFO L290 TraceCheckUtils]: 45: Hoare triple {64498#(< ~x~0 26)} [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 26)} is VALID [2022-02-20 21:00:24,764 INFO L290 TraceCheckUtils]: 44: Hoare triple {64498#(< ~x~0 26)} [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 26)} is VALID [2022-02-20 21:00:24,765 INFO L290 TraceCheckUtils]: 43: Hoare triple {64498#(< ~x~0 26)} [324] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 25) 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 26)} is VALID [2022-02-20 21:00:24,765 INFO L290 TraceCheckUtils]: 42: Hoare triple {64498#(< ~x~0 26)} [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 26)} is VALID [2022-02-20 21:00:24,765 INFO L290 TraceCheckUtils]: 41: Hoare triple {64498#(< ~x~0 26)} [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 26)} is VALID [2022-02-20 21:00:24,766 INFO L290 TraceCheckUtils]: 40: Hoare triple {64498#(< ~x~0 26)} [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 26)} is VALID [2022-02-20 21:00:24,766 INFO L290 TraceCheckUtils]: 39: Hoare triple {64498#(< ~x~0 26)} [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 26)} is VALID [2022-02-20 21:00:24,766 INFO L290 TraceCheckUtils]: 38: Hoare triple {64498#(< ~x~0 26)} [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 26)} is VALID [2022-02-20 21:00:24,766 INFO L290 TraceCheckUtils]: 37: Hoare triple {64498#(< ~x~0 26)} [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 26)} is VALID [2022-02-20 21:00:24,767 INFO L290 TraceCheckUtils]: 36: Hoare triple {64498#(< ~x~0 26)} [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 26)} is VALID [2022-02-20 21:00:24,767 INFO L290 TraceCheckUtils]: 35: Hoare triple {64498#(< ~x~0 26)} [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 26)} is VALID [2022-02-20 21:00:24,767 INFO L290 TraceCheckUtils]: 34: Hoare triple {64498#(< ~x~0 26)} [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 26)} is VALID [2022-02-20 21:00:24,767 INFO L290 TraceCheckUtils]: 33: Hoare triple {64498#(< ~x~0 26)} [324] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 25) 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 26)} is VALID [2022-02-20 21:00:24,768 INFO L290 TraceCheckUtils]: 32: Hoare triple {64498#(< ~x~0 26)} [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 26)} is VALID [2022-02-20 21:00:24,768 INFO L290 TraceCheckUtils]: 31: Hoare triple {64498#(< ~x~0 26)} [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 26)} is VALID [2022-02-20 21:00:24,768 INFO L290 TraceCheckUtils]: 30: Hoare triple {64498#(< ~x~0 26)} [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 26)} is VALID [2022-02-20 21:00:24,768 INFO L290 TraceCheckUtils]: 29: Hoare triple {64498#(< ~x~0 26)} [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 26)} is VALID [2022-02-20 21:00:24,769 INFO L290 TraceCheckUtils]: 28: Hoare triple {64498#(< ~x~0 26)} [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 26)} is VALID [2022-02-20 21:00:24,769 INFO L290 TraceCheckUtils]: 27: Hoare triple {64580#(< threadThread1of4ForFork0_~thread~0 26)} [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 26)} is VALID [2022-02-20 21:00:24,770 INFO L290 TraceCheckUtils]: 26: Hoare triple {64584#(< (+ threadThread1of4ForFork0_~arg.offset threadThread1of4ForFork0_~arg.base) 26)} [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 26)} is VALID [2022-02-20 21:00:24,770 INFO L290 TraceCheckUtils]: 25: Hoare triple {64588#(< (+ |threadThread1of4ForFork0_#in~arg.base| |threadThread1of4ForFork0_#in~arg.offset|) 26)} [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) 26)} is VALID [2022-02-20 21:00:24,770 INFO L290 TraceCheckUtils]: 24: Hoare triple {64592#(< |ULTIMATE.start_main_~i~0#1| 26)} [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|) 26)} is VALID [2022-02-20 21:00:24,771 INFO L290 TraceCheckUtils]: 23: Hoare triple {64592#(< |ULTIMATE.start_main_~i~0#1| 26)} [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| 26)} is VALID [2022-02-20 21:00:24,771 INFO L290 TraceCheckUtils]: 22: Hoare triple {64592#(< |ULTIMATE.start_main_~i~0#1| 26)} [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| 26)} is VALID [2022-02-20 21:00:24,771 INFO L290 TraceCheckUtils]: 21: Hoare triple {64592#(< |ULTIMATE.start_main_~i~0#1| 26)} [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| 26)} is VALID [2022-02-20 21:00:24,771 INFO L290 TraceCheckUtils]: 20: Hoare triple {64592#(< |ULTIMATE.start_main_~i~0#1| 26)} [324] L723-5-->L724: Formula: (<= |v_ULTIMATE.start_main_~i~0#1_4| 25) 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| 26)} is VALID [2022-02-20 21:00:24,772 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| 26)} is VALID [2022-02-20 21:00:24,772 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:24,772 INFO L290 TraceCheckUtils]: 17: Hoare triple {64317#true} [304] L719-->L719-1: Formula: (and (= (store |v_#length_4| |v_ULTIMATE.start_main_~#t~0#1.base_2| 104) |v_#length_3|) (not (= |v_ULTIMATE.start_main_~#t~0#1.base_2| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t~0#1.base_2|) (= |v_ULTIMATE.start_main_~#t~0#1.offset_2| 0) (= |v_#valid_4| (store |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2| 1)) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t~0#1.base_2|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#t~0#1.base=|v_ULTIMATE.start_main_~#t~0#1.base_2|, ULTIMATE.start_main_~#t~0#1.offset=|v_ULTIMATE.start_main_~#t~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t~0#1.base] {64317#true} is VALID [2022-02-20 21:00:24,772 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:24,772 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:24,772 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:24,772 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:24,772 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:24,772 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:24,772 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:24,773 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:24,773 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:24,773 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:24,773 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:24,773 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:24,773 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:24,773 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:24,773 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:24,773 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:24,773 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:24,774 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:24,776 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1306298116] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 21:00:24,776 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 21:00:24,776 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7, 7] total 15 [2022-02-20 21:00:24,776 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [405582840] [2022-02-20 21:00:24,776 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 21:00:24,778 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:24,778 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 21:00:24,778 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:24,819 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:24,819 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-02-20 21:00:24,819 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 21:00:24,820 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-02-20 21:00:24,820 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=38, Invalid=172, Unknown=0, NotChecked=0, Total=210 [2022-02-20 21:00:24,823 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 51 out of 80 [2022-02-20 21:00:24,824 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:24,824 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 21:00:24,824 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 51 of 80 [2022-02-20 21:00:24,824 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand