./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/weaver/test-easy1.wvr.c --full-output -ea --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 03d7b7b3 Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -ea -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/weaver/test-easy1.wvr.c -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(reach_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash fc27937a34d27b10c960489127716dfcbd25a3140e1829dbc6f42b419387a4e7 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 20:58:03,048 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 20:58:03,052 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 20:58:03,073 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 20:58:03,076 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 20:58:03,089 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 20:58:03,091 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 20:58:03,095 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 20:58:03,097 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 20:58:03,101 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 20:58:03,102 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 20:58:03,103 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 20:58:03,103 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 20:58:03,105 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 20:58:03,106 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 20:58:03,107 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 20:58:03,108 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 20:58:03,108 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 20:58:03,112 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 20:58:03,113 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 20:58:03,116 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 20:58:03,116 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 20:58:03,117 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 20:58:03,118 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 20:58:03,121 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 20:58:03,121 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 20:58:03,121 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 20:58:03,123 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 20:58:03,123 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 20:58:03,123 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 20:58:03,124 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 20:58:03,124 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 20:58:03,125 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 20:58:03,126 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 20:58:03,127 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 20:58:03,127 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 20:58:03,127 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 20:58:03,128 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 20:58:03,128 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 20:58:03,128 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 20:58:03,129 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 20:58:03,129 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2022-02-20 20:58:03,153 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 20:58:03,154 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 20:58:03,155 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 20:58:03,155 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 20:58:03,156 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 20:58:03,156 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 20:58:03,156 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 20:58:03,156 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 20:58:03,157 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 20:58:03,157 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 20:58:03,157 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 20:58:03,158 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 20:58:03,158 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 20:58:03,158 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 20:58:03,158 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 20:58:03,158 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 20:58:03,158 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 20:58:03,158 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 20:58:03,158 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 20:58:03,159 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 20:58:03,159 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 20:58:03,159 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 20:58:03,159 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 20:58:03,159 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 20:58:03,159 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 20:58:03,160 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 20:58:03,160 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 20:58:03,161 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 20:58:03,161 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 20:58:03,161 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 20:58:03,161 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 20:58:03,161 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 20:58:03,162 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 20:58:03,162 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 -> fc27937a34d27b10c960489127716dfcbd25a3140e1829dbc6f42b419387a4e7 [2022-02-20 20:58:03,345 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 20:58:03,361 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 20:58:03,363 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 20:58:03,364 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 20:58:03,364 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 20:58:03,365 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/weaver/test-easy1.wvr.c [2022-02-20 20:58:03,402 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/0fa649456/b2ec25158511401e8d9f9fdc4f0741ed/FLAGeb462b10d [2022-02-20 20:58:03,760 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 20:58:03,761 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/weaver/test-easy1.wvr.c [2022-02-20 20:58:03,769 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/0fa649456/b2ec25158511401e8d9f9fdc4f0741ed/FLAGeb462b10d [2022-02-20 20:58:04,212 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/0fa649456/b2ec25158511401e8d9f9fdc4f0741ed [2022-02-20 20:58:04,214 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 20:58:04,215 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 20:58:04,216 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 20:58:04,216 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 20:58:04,218 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 20:58:04,218 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 08:58:04" (1/1) ... [2022-02-20 20:58:04,219 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@4033ff05 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:58:04, skipping insertion in model container [2022-02-20 20:58:04,219 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 08:58:04" (1/1) ... [2022-02-20 20:58:04,223 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 20:58:04,231 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 20:58:04,318 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/weaver/test-easy1.wvr.c[1876,1889] [2022-02-20 20:58:04,321 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 20:58:04,326 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 20:58:04,338 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/weaver/test-easy1.wvr.c[1876,1889] [2022-02-20 20:58:04,339 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 20:58:04,347 INFO L208 MainTranslator]: Completed translation [2022-02-20 20:58:04,348 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:58:04 WrapperNode [2022-02-20 20:58:04,348 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 20:58:04,349 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 20:58:04,349 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 20:58:04,349 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 20:58:04,353 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:58:04" (1/1) ... [2022-02-20 20:58:04,358 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:58:04" (1/1) ... [2022-02-20 20:58:04,371 INFO L137 Inliner]: procedures = 21, calls = 20, calls flagged for inlining = 4, calls inlined = 4, statements flattened = 56 [2022-02-20 20:58:04,371 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 20:58:04,372 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 20:58:04,372 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 20:58:04,372 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 20:58:04,377 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:58:04" (1/1) ... [2022-02-20 20:58:04,377 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:58:04" (1/1) ... [2022-02-20 20:58:04,378 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:58:04" (1/1) ... [2022-02-20 20:58:04,378 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:58:04" (1/1) ... [2022-02-20 20:58:04,382 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:58:04" (1/1) ... [2022-02-20 20:58:04,384 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:58:04" (1/1) ... [2022-02-20 20:58:04,385 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:58:04" (1/1) ... [2022-02-20 20:58:04,386 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 20:58:04,387 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 20:58:04,387 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 20:58:04,387 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 20:58:04,388 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:58:04" (1/1) ... [2022-02-20 20:58:04,397 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 20:58:04,408 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 20:58:04,418 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-02-20 20:58:04,427 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-02-20 20:58:04,449 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 20:58:04,449 INFO L130 BoogieDeclarations]: Found specification of procedure thread1 [2022-02-20 20:58:04,449 INFO L138 BoogieDeclarations]: Found implementation of procedure thread1 [2022-02-20 20:58:04,449 INFO L130 BoogieDeclarations]: Found specification of procedure thread2 [2022-02-20 20:58:04,449 INFO L138 BoogieDeclarations]: Found implementation of procedure thread2 [2022-02-20 20:58:04,449 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 20:58:04,449 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-02-20 20:58:04,449 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-02-20 20:58:04,449 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 20:58:04,450 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 20:58:04,450 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-02-20 20:58:04,450 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 20:58:04,451 WARN L208 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to SingleStatement [2022-02-20 20:58:04,501 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 20:58:04,502 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 20:58:04,699 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 20:58:04,704 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 20:58:04,704 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-02-20 20:58:04,705 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 08:58:04 BoogieIcfgContainer [2022-02-20 20:58:04,706 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 20:58:04,707 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 20:58:04,707 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 20:58:04,725 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 20:58:04,725 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 08:58:04" (1/3) ... [2022-02-20 20:58:04,726 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5cf3078 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 08:58:04, skipping insertion in model container [2022-02-20 20:58:04,726 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 08:58:04" (2/3) ... [2022-02-20 20:58:04,726 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5cf3078 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 08:58:04, skipping insertion in model container [2022-02-20 20:58:04,726 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 08:58:04" (3/3) ... [2022-02-20 20:58:04,727 INFO L111 eAbstractionObserver]: Analyzing ICFG test-easy1.wvr.c [2022-02-20 20:58:04,730 WARN L150 ceAbstractionStarter]: Switching off computation of Hoare annotation because input is a concurrent program [2022-02-20 20:58:04,730 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 20:58:04,730 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 20:58:04,731 INFO L534 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2022-02-20 20:58:04,765 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:04,765 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:04,766 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:04,766 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:04,766 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#t~post1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:04,766 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#t~post1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:04,767 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#t~post1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:04,767 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#t~post1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:04,767 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#t~post1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:04,767 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#t~post1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:04,769 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:04,770 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:04,770 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:04,770 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:04,770 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#t~post2| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:04,770 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#t~post2| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:04,771 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#t~post2| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:04,771 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#t~post2| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:04,771 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#t~post2| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:04,771 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#t~post2| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:04,774 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:04,774 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#t~post1| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:04,774 WARN L322 ript$VariableManager]: TermVariabe |thread1Thread1of1ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:04,776 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:04,776 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#t~post2| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:04,776 WARN L322 ript$VariableManager]: TermVariabe |thread2Thread1of1ForFork1_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-02-20 20:58:04,782 INFO L148 ThreadInstanceAdder]: Constructed 2 joinOtherThreadTransitions. [2022-02-20 20:58:04,811 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 20:58:04,816 INFO L339 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopsAndPotentialCycles, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mLoopAccelerationTechnique=FAST_UPR [2022-02-20 20:58:04,816 INFO L340 AbstractCegarLoop]: Starting to check reachability of 3 error locations. [2022-02-20 20:58:04,823 INFO L74 FinitePrefix]: Start finitePrefix. Operand has 85 places, 84 transitions, 184 flow [2022-02-20 20:58:04,847 INFO L129 PetriNetUnfolder]: 6/82 cut-off events. [2022-02-20 20:58:04,848 INFO L130 PetriNetUnfolder]: For 2/2 co-relation queries the response was YES. [2022-02-20 20:58:04,850 INFO L84 FinitePrefix]: Finished finitePrefix Result has 91 conditions, 82 events. 6/82 cut-off events. For 2/2 co-relation queries the response was YES. Maximal size of possible extension queue 3. Compared 40 event pairs, 0 based on Foata normal form. 0/75 useless extension candidates. Maximal degree in co-relation 49. Up to 2 conditions per place. [2022-02-20 20:58:04,850 INFO L82 GeneralOperation]: Start removeDead. Operand has 85 places, 84 transitions, 184 flow [2022-02-20 20:58:04,853 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 74 places, 73 transitions, 158 flow [2022-02-20 20:58:04,865 INFO L129 PetriNetUnfolder]: 6/72 cut-off events. [2022-02-20 20:58:04,865 INFO L130 PetriNetUnfolder]: For 2/2 co-relation queries the response was YES. [2022-02-20 20:58:04,866 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 20:58:04,866 INFO L254 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 20:58:04,866 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION] === [2022-02-20 20:58:04,870 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 20:58:04,870 INFO L85 PathProgramCache]: Analyzing trace with hash 1675015954, now seen corresponding path program 1 times [2022-02-20 20:58:04,876 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 20:58:04,876 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [364468418] [2022-02-20 20:58:04,877 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:58:04,877 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 20:58:05,019 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:58:05,095 INFO L290 TraceCheckUtils]: 0: Hoare triple {88#true} [167] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {88#true} is VALID [2022-02-20 20:58:05,096 INFO L290 TraceCheckUtils]: 1: Hoare triple {88#true} [145] 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] {88#true} is VALID [2022-02-20 20:58:05,096 INFO L290 TraceCheckUtils]: 2: Hoare triple {88#true} [173] 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[] {88#true} is VALID [2022-02-20 20:58:05,096 INFO L290 TraceCheckUtils]: 3: Hoare triple {88#true} [175] L-1-2-->L21: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {88#true} is VALID [2022-02-20 20:58:05,097 INFO L290 TraceCheckUtils]: 4: Hoare triple {88#true} [133] L21-->L21-1: Formula: (and (= (select |v_#valid_2| 1) 1) (= 2 (select |v_#length_1| 1))) InVars {#length=|v_#length_1|, #valid=|v_#valid_2|} OutVars{#length=|v_#length_1|, #valid=|v_#valid_2|} AuxVars[] AssignedVars[] {88#true} is VALID [2022-02-20 20:58:05,097 INFO L290 TraceCheckUtils]: 5: Hoare triple {88#true} [163] L21-1-->L21-2: Formula: (= 48 (select (select |v_#memory_int_1| 1) 0)) InVars {#memory_int=|v_#memory_int_1|} OutVars{#memory_int=|v_#memory_int_1|} AuxVars[] AssignedVars[] {88#true} is VALID [2022-02-20 20:58:05,097 INFO L290 TraceCheckUtils]: 6: Hoare triple {88#true} [161] L21-2-->L21-3: Formula: (= (select (select |v_#memory_int_2| 1) 1) 0) InVars {#memory_int=|v_#memory_int_2|} OutVars{#memory_int=|v_#memory_int_2|} AuxVars[] AssignedVars[] {88#true} is VALID [2022-02-20 20:58:05,097 INFO L290 TraceCheckUtils]: 7: Hoare triple {88#true} [125] L21-3-->L21-4: Formula: (and (= (select |v_#valid_3| 2) 1) (= (select |v_#length_2| 2) 17)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {88#true} is VALID [2022-02-20 20:58:05,098 INFO L290 TraceCheckUtils]: 8: Hoare triple {88#true} [181] L21-4-->L38: Formula: (= v_~x1~0_5 0) InVars {} OutVars{~x1~0=v_~x1~0_5} AuxVars[] AssignedVars[~x1~0] {88#true} is VALID [2022-02-20 20:58:05,098 INFO L290 TraceCheckUtils]: 9: Hoare triple {88#true} [182] L38-->L-1-3: Formula: (= v_~x2~0_5 0) InVars {} OutVars{~x2~0=v_~x2~0_5} AuxVars[] AssignedVars[~x2~0] {88#true} is VALID [2022-02-20 20:58:05,098 INFO L290 TraceCheckUtils]: 10: Hoare triple {88#true} [179] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {88#true} is VALID [2022-02-20 20:58:05,099 INFO L290 TraceCheckUtils]: 11: Hoare triple {88#true} [157] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {88#true} is VALID [2022-02-20 20:58:05,099 INFO L290 TraceCheckUtils]: 12: Hoare triple {88#true} [123] L-1-5-->L-1-6: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {88#true} is VALID [2022-02-20 20:58:05,100 INFO L290 TraceCheckUtils]: 13: Hoare triple {88#true} [155] L-1-6-->L57: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_1|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_1|, ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_1|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_1|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_1|, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_1|, ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_#t~nondet8#1=|v_ULTIMATE.start_main_#t~nondet8#1_1|, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_1|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_1|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1, ULTIMATE.start_main_#t~nondet4#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t2~0#1.offset, ULTIMATE.start_main_#t~nondet8#1, ULTIMATE.start_main_#t~nondet6#1, ULTIMATE.start_main_#t~mem9#1, ULTIMATE.start_main_#t~pre7#1, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset, ULTIMATE.start_main_#t~mem10#1, ULTIMATE.start_main_~#t2~0#1.base] {88#true} is VALID [2022-02-20 20:58:05,100 INFO L290 TraceCheckUtils]: 14: Hoare triple {88#true} [184] L57-->L57-1: Formula: (and (= |v_ULTIMATE.start_main_~#t1~0#1.offset_2| 0) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) 0) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 4)) (not (= |v_ULTIMATE.start_main_~#t1~0#1.base_2| 0)) (= (store |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 1) |v_#valid_4|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_2|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[#valid, #length, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset] {88#true} is VALID [2022-02-20 20:58:05,102 INFO L290 TraceCheckUtils]: 15: Hoare triple {88#true} [121] L57-1-->L57-2: Formula: (and (= |v_#length_5| (store |v_#length_6| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 4)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2|) 0) (= (store |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 1) |v_#valid_6|) (not (= |v_ULTIMATE.start_main_~#t2~0#1.base_2| 0)) (= 0 |v_ULTIMATE.start_main_~#t2~0#1.offset_2|) (< |v_#StackHeapBarrier_3| |v_ULTIMATE.start_main_~#t2~0#1.base_2|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_7|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_5|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_2|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t2~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t2~0#1.base] {88#true} is VALID [2022-02-20 20:58:05,102 INFO L290 TraceCheckUtils]: 16: Hoare triple {88#true} [172] L57-2-->L59: Formula: (and (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet3#1_2| 2147483648)) (<= |v_ULTIMATE.start_main_#t~nondet3#1_2| 2147483647)) InVars {ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[] {88#true} is VALID [2022-02-20 20:58:05,102 INFO L290 TraceCheckUtils]: 17: Hoare triple {88#true} [140] L59-->L59-1: Formula: (= v_~x1~0_6 |v_ULTIMATE.start_main_#t~nondet3#1_3|) InVars {ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_3|} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_3|, ~x1~0=v_~x1~0_6} AuxVars[] AssignedVars[~x1~0] {88#true} is VALID [2022-02-20 20:58:05,102 INFO L290 TraceCheckUtils]: 18: Hoare triple {88#true} [115] L59-1-->L60: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] {88#true} is VALID [2022-02-20 20:58:05,103 INFO L290 TraceCheckUtils]: 19: Hoare triple {88#true} [178] L60-->L60-1: Formula: (and (<= |v_ULTIMATE.start_main_#t~nondet4#1_2| 2147483647) (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet4#1_2| 2147483648))) InVars {ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_2|} OutVars{ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_2|} AuxVars[] AssignedVars[] {88#true} is VALID [2022-02-20 20:58:05,103 INFO L290 TraceCheckUtils]: 20: Hoare triple {88#true} [143] L60-1-->L60-2: Formula: (= v_~x2~0_6 |v_ULTIMATE.start_main_#t~nondet4#1_3|) InVars {ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_3|} OutVars{~x2~0=v_~x2~0_6, ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_3|} AuxVars[] AssignedVars[~x2~0] {88#true} is VALID [2022-02-20 20:58:05,103 INFO L290 TraceCheckUtils]: 21: Hoare triple {88#true} [129] L60-2-->L61: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet4#1] {88#true} is VALID [2022-02-20 20:58:05,104 INFO L290 TraceCheckUtils]: 22: Hoare triple {88#true} [109] L61-->L61-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {88#true} is VALID [2022-02-20 20:58:05,104 INFO L290 TraceCheckUtils]: 23: Hoare triple {88#true} [154] L61-1-->L61-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1| (ite (and (<= 0 v_~x1~0_7) (= v_~x1~0_7 v_~x2~0_7)) 1 0)) InVars {~x2~0=v_~x2~0_7, ~x1~0=v_~x1~0_7} OutVars{~x2~0=v_~x2~0_7, ~x1~0=v_~x1~0_7, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] {88#true} is VALID [2022-02-20 20:58:05,105 INFO L290 TraceCheckUtils]: 24: Hoare triple {88#true} [162] L61-2-->L34: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {88#true} is VALID [2022-02-20 20:58:05,105 INFO L290 TraceCheckUtils]: 25: Hoare triple {88#true} [132] L34-->L35: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_2|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_2|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {88#true} is VALID [2022-02-20 20:58:05,105 INFO L290 TraceCheckUtils]: 26: Hoare triple {88#true} [165] L35-->L34-1: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_4| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_4|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_4|} AuxVars[] AssignedVars[] {88#true} is VALID [2022-02-20 20:58:05,106 INFO L290 TraceCheckUtils]: 27: Hoare triple {88#true} [158] L34-1-->L64: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {88#true} is VALID [2022-02-20 20:58:05,106 INFO L290 TraceCheckUtils]: 28: Hoare triple {88#true} [128] L64-->L64-1: Formula: (= |v_ULTIMATE.start_main_#t~pre5#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_2|, #pthreadsForks=|v_#pthreadsForks_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1] {88#true} is VALID [2022-02-20 20:58:05,106 INFO L290 TraceCheckUtils]: 29: Hoare triple {88#true} [174] L64-1-->L64-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {88#true} is VALID [2022-02-20 20:58:05,106 INFO L290 TraceCheckUtils]: 30: Hoare triple {88#true} [187] L64-2-->L64-3: Formula: (= (store |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3| (store (select |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3|) |v_ULTIMATE.start_main_~#t1~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre5#1_3|)) |v_#memory_int_3|) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_3|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_3|, #memory_int=|v_#memory_int_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} AuxVars[] AssignedVars[#memory_int] {88#true} is VALID [2022-02-20 20:58:05,107 INFO L290 TraceCheckUtils]: 31: Hoare triple {88#true} [207] L64-3-->L41-1: Formula: (and (= v_thread1Thread1of1ForFork0_thidvar1_2 0) (= |v_ULTIMATE.start_main_#t~pre5#1_6| v_thread1Thread1of1ForFork0_thidvar0_2)) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_6|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_6|, thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_4|, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_8|, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_2, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_4|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_2} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#t~post1, thread1Thread1of1ForFork0_thidvar0, thread1Thread1of1ForFork0_#res.offset, thread1Thread1of1ForFork0_thidvar1] {88#true} is VALID [2022-02-20 20:58:05,107 INFO L290 TraceCheckUtils]: 32: Hoare triple {88#true} [146] L64-4-->L64-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1] {88#true} is VALID [2022-02-20 20:58:05,107 INFO L290 TraceCheckUtils]: 33: Hoare triple {88#true} [142] L64-5-->L65: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet6#1] {88#true} is VALID [2022-02-20 20:58:05,108 INFO L290 TraceCheckUtils]: 34: Hoare triple {88#true} [188] L65-->L65-1: Formula: (= |v_ULTIMATE.start_main_#t~pre7#1_2| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{#pthreadsForks=|v_#pthreadsForks_4|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre7#1] {88#true} is VALID [2022-02-20 20:58:05,108 INFO L290 TraceCheckUtils]: 35: Hoare triple {88#true} [169] L65-1-->L65-2: Formula: (= (+ 1 |v_#pthreadsForks_6|) |v_#pthreadsForks_5|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_5|} AuxVars[] AssignedVars[#pthreadsForks] {88#true} is VALID [2022-02-20 20:58:05,110 INFO L290 TraceCheckUtils]: 36: Hoare triple {88#true} [144] L65-2-->L65-3: Formula: (= (store |v_#memory_int_6| |v_ULTIMATE.start_main_~#t2~0#1.base_3| (store (select |v_#memory_int_6| |v_ULTIMATE.start_main_~#t2~0#1.base_3|) |v_ULTIMATE.start_main_~#t2~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre7#1_3|)) |v_#memory_int_5|) InVars {#memory_int=|v_#memory_int_6|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_3|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} OutVars{#memory_int=|v_#memory_int_5|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_3|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} AuxVars[] AssignedVars[#memory_int] {88#true} is VALID [2022-02-20 20:58:05,111 INFO L290 TraceCheckUtils]: 37: Hoare triple {88#true} [209] L65-3-->L49-1: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar1_2) (= |v_ULTIMATE.start_main_#t~pre7#1_6| v_thread2Thread1of1ForFork1_thidvar0_2) (= 0 v_thread2Thread1of1ForFork1_thidvar2_2)) InVars {ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_6|} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_4|, thread2Thread1of1ForFork1_#t~post2=|v_thread2Thread1of1ForFork1_#t~post2_8|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_4|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_6|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_2, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_2, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_2} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, thread2Thread1of1ForFork1_#t~post2, thread2Thread1of1ForFork1_#res.base, thread2Thread1of1ForFork1_thidvar2, thread2Thread1of1ForFork1_thidvar0, thread2Thread1of1ForFork1_thidvar1] {88#true} is VALID [2022-02-20 20:58:05,111 INFO L290 TraceCheckUtils]: 38: Hoare triple {88#true} [126] L65-4-->L65-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre7#1] {88#true} is VALID [2022-02-20 20:58:05,111 INFO L290 TraceCheckUtils]: 39: Hoare triple {88#true} [130] L65-5-->L66: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet8#1=|v_ULTIMATE.start_main_#t~nondet8#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet8#1] {88#true} is VALID [2022-02-20 20:58:05,111 INFO L290 TraceCheckUtils]: 40: Hoare triple {88#true} [138] L66-->L66-1: Formula: (= |v_ULTIMATE.start_main_#t~mem9#1_2| (select (select |v_#memory_int_7| |v_ULTIMATE.start_main_~#t1~0#1.base_4|) |v_ULTIMATE.start_main_~#t1~0#1.offset_4|)) InVars {#memory_int=|v_#memory_int_7|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_4|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_4|} OutVars{#memory_int=|v_#memory_int_7|, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_2|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_4|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem9#1] {88#true} is VALID [2022-02-20 20:58:05,113 INFO L290 TraceCheckUtils]: 41: Hoare triple {88#true} [190] L41-1-->L41-2: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {89#false} is VALID [2022-02-20 20:58:05,113 INFO L290 TraceCheckUtils]: 42: Hoare triple {89#false} [193] L41-2-->thread1FINAL: Formula: (and (= |v_thread1Thread1of1ForFork0_#res.base_1| 0) (= |v_thread1Thread1of1ForFork0_#res.offset_1| 0)) InVars {} OutVars{thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_1|, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#res.offset] {89#false} is VALID [2022-02-20 20:58:05,113 INFO L290 TraceCheckUtils]: 43: Hoare triple {89#false} [195] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {89#false} is VALID [2022-02-20 20:58:05,113 INFO L290 TraceCheckUtils]: 44: Hoare triple {89#false} [210] thread1EXIT-->L66-2: Formula: (and (= v_thread1Thread1of1ForFork0_thidvar1_4 0) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem9#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ (- 4294967296) .cse0))) v_thread1Thread1of1ForFork0_thidvar0_4)) InVars {thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_5|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4} OutVars{thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_5|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4} AuxVars[] AssignedVars[] {89#false} is VALID [2022-02-20 20:58:05,117 INFO L290 TraceCheckUtils]: 45: Hoare triple {89#false} [151] L66-2-->L67: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem9#1] {89#false} is VALID [2022-02-20 20:58:05,117 INFO L290 TraceCheckUtils]: 46: Hoare triple {89#false} [166] L67-->L67-1: Formula: (= (select (select |v_#memory_int_8| |v_ULTIMATE.start_main_~#t2~0#1.base_4|) |v_ULTIMATE.start_main_~#t2~0#1.offset_4|) |v_ULTIMATE.start_main_#t~mem10#1_2|) InVars {#memory_int=|v_#memory_int_8|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_4|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} OutVars{#memory_int=|v_#memory_int_8|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_4|, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10#1] {89#false} is VALID [2022-02-20 20:58:05,117 INFO L290 TraceCheckUtils]: 47: Hoare triple {89#false} [198] L49-1-->L49-2: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {89#false} is VALID [2022-02-20 20:58:05,117 INFO L290 TraceCheckUtils]: 48: Hoare triple {89#false} [201] L49-2-->thread2FINAL: Formula: (and (= |v_thread2Thread1of1ForFork1_#res.base_1| 0) (= |v_thread2Thread1of1ForFork1_#res.offset_1| 0)) InVars {} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_1|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_1|} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, thread2Thread1of1ForFork1_#res.base] {89#false} is VALID [2022-02-20 20:58:05,120 INFO L290 TraceCheckUtils]: 49: Hoare triple {89#false} [203] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {89#false} is VALID [2022-02-20 20:58:05,120 INFO L290 TraceCheckUtils]: 50: Hoare triple {89#false} [211] thread2EXIT-->L67-2: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar2_4) (= 0 v_thread2Thread1of1ForFork1_thidvar1_4) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem10#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ .cse0 (- 4294967296)))) v_thread2Thread1of1ForFork1_thidvar0_4)) InVars {thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} OutVars{thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} AuxVars[] AssignedVars[] {89#false} is VALID [2022-02-20 20:58:05,120 INFO L290 TraceCheckUtils]: 51: Hoare triple {89#false} [120] L67-2-->L69: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10#1] {89#false} is VALID [2022-02-20 20:58:05,121 INFO L290 TraceCheckUtils]: 52: Hoare triple {89#false} [122] L69-->L69-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {89#false} is VALID [2022-02-20 20:58:05,121 INFO L290 TraceCheckUtils]: 53: Hoare triple {89#false} [177] L69-1-->L69-2: Formula: (= (ite (not (= v_~x1~0_8 v_~x2~0_8)) 1 0) |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3|) InVars {~x2~0=v_~x2~0_8, ~x1~0=v_~x1~0_8} OutVars{~x2~0=v_~x2~0_8, ~x1~0=v_~x1~0_8, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] {89#false} is VALID [2022-02-20 20:58:05,121 INFO L290 TraceCheckUtils]: 54: Hoare triple {89#false} [139] L69-2-->L34-2: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_5|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {89#false} is VALID [2022-02-20 20:58:05,122 INFO L290 TraceCheckUtils]: 55: Hoare triple {89#false} [147] L34-2-->L35-3: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_6|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_6|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {89#false} is VALID [2022-02-20 20:58:05,122 INFO L290 TraceCheckUtils]: 56: Hoare triple {89#false} [114] L35-3-->L34-3: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_8| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_8|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_8|} AuxVars[] AssignedVars[] {89#false} is VALID [2022-02-20 20:58:05,123 INFO L290 TraceCheckUtils]: 57: Hoare triple {89#false} [124] L34-3-->L70: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {89#false} is VALID [2022-02-20 20:58:05,123 INFO L290 TraceCheckUtils]: 58: Hoare triple {89#false} [185] L70-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {89#false} is VALID [2022-02-20 20:58:05,124 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 20:58:05,125 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 20:58:05,125 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [364468418] [2022-02-20 20:58:05,125 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [364468418] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 20:58:05,126 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 20:58:05,126 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 20:58:05,128 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [788974242] [2022-02-20 20:58:05,129 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 20:58:05,138 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 29.5) internal successors, (59), 2 states have internal predecessors, (59), 0 states have call successors, (0), 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 59 [2022-02-20 20:58:05,139 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 20:58:05,141 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 2 states, 2 states have (on average 29.5) internal successors, (59), 2 states have internal predecessors, (59), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:58:05,196 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 20:58:05,196 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-02-20 20:58:05,196 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 20:58:05,217 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-02-20 20:58:05,217 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 20:58:05,219 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 75 out of 84 [2022-02-20 20:58:05,223 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 74 places, 73 transitions, 158 flow. Second operand has 2 states, 2 states have (on average 78.0) internal successors, (156), 2 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 20:58:05,223 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 20:58:05,223 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 75 of 84 [2022-02-20 20:58:05,224 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 20:58:05,255 INFO L129 PetriNetUnfolder]: 2/69 cut-off events. [2022-02-20 20:58:05,255 INFO L130 PetriNetUnfolder]: For 8/8 co-relation queries the response was YES. [2022-02-20 20:58:05,256 INFO L84 FinitePrefix]: Finished finitePrefix Result has 83 conditions, 69 events. 2/69 cut-off events. For 8/8 co-relation queries the response was YES. Maximal size of possible extension queue 3. Compared 35 event pairs, 0 based on Foata normal form. 6/71 useless extension candidates. Maximal degree in co-relation 48. Up to 5 conditions per place. [2022-02-20 20:58:05,257 INFO L132 encePairwiseOnDemand]: 80/84 looper letters, 4 selfloop transitions, 0 changer transitions 2/69 dead transitions. [2022-02-20 20:58:05,258 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 75 places, 69 transitions, 158 flow [2022-02-20 20:58:05,258 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-02-20 20:58:05,259 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2022-02-20 20:58:05,278 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 158 transitions. [2022-02-20 20:58:05,279 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.9404761904761905 [2022-02-20 20:58:05,280 INFO L72 ComplementDD]: Start complementDD. Operand 2 states and 158 transitions. [2022-02-20 20:58:05,280 INFO L73 IsDeterministic]: Start isDeterministic. Operand 2 states and 158 transitions. [2022-02-20 20:58:05,280 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 20:58:05,282 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 2 states and 158 transitions. [2022-02-20 20:58:05,287 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 3 states, 2 states have (on average 79.0) internal successors, (158), 2 states have internal predecessors, (158), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:58:05,290 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 3 states, 3 states have (on average 84.0) internal successors, (252), 3 states have internal predecessors, (252), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:58:05,291 INFO L81 ComplementDD]: Finished complementDD. Result has 3 states, 3 states have (on average 84.0) internal successors, (252), 3 states have internal predecessors, (252), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:58:05,292 INFO L186 Difference]: Start difference. First operand has 74 places, 73 transitions, 158 flow. Second operand 2 states and 158 transitions. [2022-02-20 20:58:05,293 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 75 places, 69 transitions, 158 flow [2022-02-20 20:58:05,297 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 71 places, 69 transitions, 150 flow, removed 0 selfloop flow, removed 4 redundant places. [2022-02-20 20:58:05,300 INFO L242 Difference]: Finished difference. Result has 71 places, 67 transitions, 138 flow [2022-02-20 20:58:05,302 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=84, PETRI_DIFFERENCE_MINUEND_FLOW=142, PETRI_DIFFERENCE_MINUEND_PLACES=70, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=69, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=0, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=69, PETRI_DIFFERENCE_SUBTRAHEND_STATES=2, PETRI_FLOW=138, PETRI_PLACES=71, PETRI_TRANSITIONS=67} [2022-02-20 20:58:05,305 INFO L334 CegarLoopForPetriNet]: 74 programPoint places, -3 predicate places. [2022-02-20 20:58:05,306 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 71 places, 67 transitions, 138 flow [2022-02-20 20:58:05,331 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 300 states, 299 states have (on average 2.3612040133779266) internal successors, (706), 299 states have internal predecessors, (706), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:58:05,333 INFO L78 Accepts]: Start accepts. Automaton has has 300 states, 299 states have (on average 2.3612040133779266) internal successors, (706), 299 states have internal predecessors, (706), 0 states have call successors, (0), 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 59 [2022-02-20 20:58:05,334 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 20:58:05,334 INFO L470 AbstractCegarLoop]: Abstraction has has 71 places, 67 transitions, 138 flow [2022-02-20 20:58:05,334 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 78.0) internal successors, (156), 2 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 20:58:05,334 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 20:58:05,335 INFO L254 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 20:58:05,336 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 20:58:05,336 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION] === [2022-02-20 20:58:05,337 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 20:58:05,337 INFO L85 PathProgramCache]: Analyzing trace with hash 845260518, now seen corresponding path program 1 times [2022-02-20 20:58:05,337 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 20:58:05,337 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [713739022] [2022-02-20 20:58:05,337 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:58:05,338 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 20:58:05,428 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:58:05,603 INFO L290 TraceCheckUtils]: 0: Hoare triple {392#true} [167] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {392#true} is VALID [2022-02-20 20:58:05,603 INFO L290 TraceCheckUtils]: 1: Hoare triple {392#true} [145] 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] {392#true} is VALID [2022-02-20 20:58:05,603 INFO L290 TraceCheckUtils]: 2: Hoare triple {392#true} [173] 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[] {392#true} is VALID [2022-02-20 20:58:05,604 INFO L290 TraceCheckUtils]: 3: Hoare triple {392#true} [175] L-1-2-->L21: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {392#true} is VALID [2022-02-20 20:58:05,604 INFO L290 TraceCheckUtils]: 4: Hoare triple {392#true} [133] L21-->L21-1: Formula: (and (= (select |v_#valid_2| 1) 1) (= 2 (select |v_#length_1| 1))) InVars {#length=|v_#length_1|, #valid=|v_#valid_2|} OutVars{#length=|v_#length_1|, #valid=|v_#valid_2|} AuxVars[] AssignedVars[] {392#true} is VALID [2022-02-20 20:58:05,604 INFO L290 TraceCheckUtils]: 5: Hoare triple {392#true} [163] L21-1-->L21-2: Formula: (= 48 (select (select |v_#memory_int_1| 1) 0)) InVars {#memory_int=|v_#memory_int_1|} OutVars{#memory_int=|v_#memory_int_1|} AuxVars[] AssignedVars[] {392#true} is VALID [2022-02-20 20:58:05,604 INFO L290 TraceCheckUtils]: 6: Hoare triple {392#true} [161] L21-2-->L21-3: Formula: (= (select (select |v_#memory_int_2| 1) 1) 0) InVars {#memory_int=|v_#memory_int_2|} OutVars{#memory_int=|v_#memory_int_2|} AuxVars[] AssignedVars[] {392#true} is VALID [2022-02-20 20:58:05,604 INFO L290 TraceCheckUtils]: 7: Hoare triple {392#true} [125] L21-3-->L21-4: Formula: (and (= (select |v_#valid_3| 2) 1) (= (select |v_#length_2| 2) 17)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {392#true} is VALID [2022-02-20 20:58:05,605 INFO L290 TraceCheckUtils]: 8: Hoare triple {392#true} [181] L21-4-->L38: Formula: (= v_~x1~0_5 0) InVars {} OutVars{~x1~0=v_~x1~0_5} AuxVars[] AssignedVars[~x1~0] {392#true} is VALID [2022-02-20 20:58:05,605 INFO L290 TraceCheckUtils]: 9: Hoare triple {392#true} [182] L38-->L-1-3: Formula: (= v_~x2~0_5 0) InVars {} OutVars{~x2~0=v_~x2~0_5} AuxVars[] AssignedVars[~x2~0] {392#true} is VALID [2022-02-20 20:58:05,605 INFO L290 TraceCheckUtils]: 10: Hoare triple {392#true} [179] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {392#true} is VALID [2022-02-20 20:58:05,605 INFO L290 TraceCheckUtils]: 11: Hoare triple {392#true} [157] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {392#true} is VALID [2022-02-20 20:58:05,606 INFO L290 TraceCheckUtils]: 12: Hoare triple {392#true} [123] L-1-5-->L-1-6: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {392#true} is VALID [2022-02-20 20:58:05,606 INFO L290 TraceCheckUtils]: 13: Hoare triple {392#true} [155] L-1-6-->L57: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_1|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_1|, ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_1|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_1|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_1|, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_1|, ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_#t~nondet8#1=|v_ULTIMATE.start_main_#t~nondet8#1_1|, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_1|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_1|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1, ULTIMATE.start_main_#t~nondet4#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t2~0#1.offset, ULTIMATE.start_main_#t~nondet8#1, ULTIMATE.start_main_#t~nondet6#1, ULTIMATE.start_main_#t~mem9#1, ULTIMATE.start_main_#t~pre7#1, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset, ULTIMATE.start_main_#t~mem10#1, ULTIMATE.start_main_~#t2~0#1.base] {392#true} is VALID [2022-02-20 20:58:05,606 INFO L290 TraceCheckUtils]: 14: Hoare triple {392#true} [184] L57-->L57-1: Formula: (and (= |v_ULTIMATE.start_main_~#t1~0#1.offset_2| 0) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) 0) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 4)) (not (= |v_ULTIMATE.start_main_~#t1~0#1.base_2| 0)) (= (store |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 1) |v_#valid_4|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_2|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[#valid, #length, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset] {392#true} is VALID [2022-02-20 20:58:05,606 INFO L290 TraceCheckUtils]: 15: Hoare triple {392#true} [121] L57-1-->L57-2: Formula: (and (= |v_#length_5| (store |v_#length_6| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 4)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2|) 0) (= (store |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 1) |v_#valid_6|) (not (= |v_ULTIMATE.start_main_~#t2~0#1.base_2| 0)) (= 0 |v_ULTIMATE.start_main_~#t2~0#1.offset_2|) (< |v_#StackHeapBarrier_3| |v_ULTIMATE.start_main_~#t2~0#1.base_2|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_7|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_5|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_2|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t2~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t2~0#1.base] {392#true} is VALID [2022-02-20 20:58:05,607 INFO L290 TraceCheckUtils]: 16: Hoare triple {392#true} [172] L57-2-->L59: Formula: (and (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet3#1_2| 2147483648)) (<= |v_ULTIMATE.start_main_#t~nondet3#1_2| 2147483647)) InVars {ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[] {392#true} is VALID [2022-02-20 20:58:05,607 INFO L290 TraceCheckUtils]: 17: Hoare triple {392#true} [140] L59-->L59-1: Formula: (= v_~x1~0_6 |v_ULTIMATE.start_main_#t~nondet3#1_3|) InVars {ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_3|} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_3|, ~x1~0=v_~x1~0_6} AuxVars[] AssignedVars[~x1~0] {392#true} is VALID [2022-02-20 20:58:05,607 INFO L290 TraceCheckUtils]: 18: Hoare triple {392#true} [115] L59-1-->L60: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] {392#true} is VALID [2022-02-20 20:58:05,607 INFO L290 TraceCheckUtils]: 19: Hoare triple {392#true} [178] L60-->L60-1: Formula: (and (<= |v_ULTIMATE.start_main_#t~nondet4#1_2| 2147483647) (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet4#1_2| 2147483648))) InVars {ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_2|} OutVars{ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_2|} AuxVars[] AssignedVars[] {392#true} is VALID [2022-02-20 20:58:05,608 INFO L290 TraceCheckUtils]: 20: Hoare triple {392#true} [143] L60-1-->L60-2: Formula: (= v_~x2~0_6 |v_ULTIMATE.start_main_#t~nondet4#1_3|) InVars {ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_3|} OutVars{~x2~0=v_~x2~0_6, ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_3|} AuxVars[] AssignedVars[~x2~0] {392#true} is VALID [2022-02-20 20:58:05,608 INFO L290 TraceCheckUtils]: 21: Hoare triple {392#true} [129] L60-2-->L61: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet4#1] {392#true} is VALID [2022-02-20 20:58:05,608 INFO L290 TraceCheckUtils]: 22: Hoare triple {392#true} [109] L61-->L61-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {392#true} is VALID [2022-02-20 20:58:05,609 INFO L290 TraceCheckUtils]: 23: Hoare triple {392#true} [154] L61-1-->L61-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1| (ite (and (<= 0 v_~x1~0_7) (= v_~x1~0_7 v_~x2~0_7)) 1 0)) InVars {~x2~0=v_~x2~0_7, ~x1~0=v_~x1~0_7} OutVars{~x2~0=v_~x2~0_7, ~x1~0=v_~x1~0_7, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] {394#(or (and (<= 0 ~x1~0) (= ~x2~0 ~x1~0)) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0))} is VALID [2022-02-20 20:58:05,609 INFO L290 TraceCheckUtils]: 24: Hoare triple {394#(or (and (<= 0 ~x1~0) (= ~x2~0 ~x1~0)) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0))} [162] L61-2-->L34: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {394#(or (and (<= 0 ~x1~0) (= ~x2~0 ~x1~0)) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0))} is VALID [2022-02-20 20:58:05,610 INFO L290 TraceCheckUtils]: 25: Hoare triple {394#(or (and (<= 0 ~x1~0) (= ~x2~0 ~x1~0)) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0))} [132] L34-->L35: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_2|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_2|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {395#(or (and (<= 0 ~x1~0) (= ~x2~0 ~x1~0)) (= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0))} is VALID [2022-02-20 20:58:05,610 INFO L290 TraceCheckUtils]: 26: Hoare triple {395#(or (and (<= 0 ~x1~0) (= ~x2~0 ~x1~0)) (= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0))} [165] L35-->L34-1: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_4| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_4|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_4|} AuxVars[] AssignedVars[] {396#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:05,611 INFO L290 TraceCheckUtils]: 27: Hoare triple {396#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [158] L34-1-->L64: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {396#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:05,611 INFO L290 TraceCheckUtils]: 28: Hoare triple {396#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [128] L64-->L64-1: Formula: (= |v_ULTIMATE.start_main_#t~pre5#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_2|, #pthreadsForks=|v_#pthreadsForks_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1] {396#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:05,612 INFO L290 TraceCheckUtils]: 29: Hoare triple {396#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [174] L64-1-->L64-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {396#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:05,613 INFO L290 TraceCheckUtils]: 30: Hoare triple {396#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [187] L64-2-->L64-3: Formula: (= (store |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3| (store (select |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3|) |v_ULTIMATE.start_main_~#t1~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre5#1_3|)) |v_#memory_int_3|) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_3|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_3|, #memory_int=|v_#memory_int_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} AuxVars[] AssignedVars[#memory_int] {396#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:05,613 INFO L290 TraceCheckUtils]: 31: Hoare triple {396#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [207] L64-3-->L41-1: Formula: (and (= v_thread1Thread1of1ForFork0_thidvar1_2 0) (= |v_ULTIMATE.start_main_#t~pre5#1_6| v_thread1Thread1of1ForFork0_thidvar0_2)) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_6|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_6|, thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_4|, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_8|, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_2, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_4|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_2} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#t~post1, thread1Thread1of1ForFork0_thidvar0, thread1Thread1of1ForFork0_#res.offset, thread1Thread1of1ForFork0_thidvar1] {396#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:05,614 INFO L290 TraceCheckUtils]: 32: Hoare triple {396#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [146] L64-4-->L64-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1] {396#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:05,614 INFO L290 TraceCheckUtils]: 33: Hoare triple {396#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [142] L64-5-->L65: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet6#1] {396#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:05,615 INFO L290 TraceCheckUtils]: 34: Hoare triple {396#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [188] L65-->L65-1: Formula: (= |v_ULTIMATE.start_main_#t~pre7#1_2| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{#pthreadsForks=|v_#pthreadsForks_4|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre7#1] {396#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:05,615 INFO L290 TraceCheckUtils]: 35: Hoare triple {396#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [169] L65-1-->L65-2: Formula: (= (+ 1 |v_#pthreadsForks_6|) |v_#pthreadsForks_5|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_5|} AuxVars[] AssignedVars[#pthreadsForks] {396#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:05,616 INFO L290 TraceCheckUtils]: 36: Hoare triple {396#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [144] L65-2-->L65-3: Formula: (= (store |v_#memory_int_6| |v_ULTIMATE.start_main_~#t2~0#1.base_3| (store (select |v_#memory_int_6| |v_ULTIMATE.start_main_~#t2~0#1.base_3|) |v_ULTIMATE.start_main_~#t2~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre7#1_3|)) |v_#memory_int_5|) InVars {#memory_int=|v_#memory_int_6|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_3|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} OutVars{#memory_int=|v_#memory_int_5|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_3|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} AuxVars[] AssignedVars[#memory_int] {396#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:05,617 INFO L290 TraceCheckUtils]: 37: Hoare triple {396#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [209] L65-3-->L49-1: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar1_2) (= |v_ULTIMATE.start_main_#t~pre7#1_6| v_thread2Thread1of1ForFork1_thidvar0_2) (= 0 v_thread2Thread1of1ForFork1_thidvar2_2)) InVars {ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_6|} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_4|, thread2Thread1of1ForFork1_#t~post2=|v_thread2Thread1of1ForFork1_#t~post2_8|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_4|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_6|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_2, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_2, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_2} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, thread2Thread1of1ForFork1_#t~post2, thread2Thread1of1ForFork1_#res.base, thread2Thread1of1ForFork1_thidvar2, thread2Thread1of1ForFork1_thidvar0, thread2Thread1of1ForFork1_thidvar1] {396#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:05,617 INFO L290 TraceCheckUtils]: 38: Hoare triple {396#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [191] L41-1-->L41-2: Formula: (not (< v_~x1~0_1 10000)) InVars {~x1~0=v_~x1~0_1} OutVars{~x1~0=v_~x1~0_1} AuxVars[] AssignedVars[] {396#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:05,618 INFO L290 TraceCheckUtils]: 39: Hoare triple {396#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [193] L41-2-->thread1FINAL: Formula: (and (= |v_thread1Thread1of1ForFork0_#res.base_1| 0) (= |v_thread1Thread1of1ForFork0_#res.offset_1| 0)) InVars {} OutVars{thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_1|, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#res.offset] {396#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:05,618 INFO L290 TraceCheckUtils]: 40: Hoare triple {396#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [195] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {396#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:05,619 INFO L290 TraceCheckUtils]: 41: Hoare triple {396#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [126] L65-4-->L65-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre7#1] {396#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:05,619 INFO L290 TraceCheckUtils]: 42: Hoare triple {396#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [130] L65-5-->L66: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet8#1=|v_ULTIMATE.start_main_#t~nondet8#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet8#1] {396#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:05,620 INFO L290 TraceCheckUtils]: 43: Hoare triple {396#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [138] L66-->L66-1: Formula: (= |v_ULTIMATE.start_main_#t~mem9#1_2| (select (select |v_#memory_int_7| |v_ULTIMATE.start_main_~#t1~0#1.base_4|) |v_ULTIMATE.start_main_~#t1~0#1.offset_4|)) InVars {#memory_int=|v_#memory_int_7|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_4|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_4|} OutVars{#memory_int=|v_#memory_int_7|, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_2|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_4|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem9#1] {396#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:05,623 INFO L290 TraceCheckUtils]: 44: Hoare triple {396#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [210] thread1EXIT-->L66-2: Formula: (and (= v_thread1Thread1of1ForFork0_thidvar1_4 0) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem9#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ (- 4294967296) .cse0))) v_thread1Thread1of1ForFork0_thidvar0_4)) InVars {thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_5|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4} OutVars{thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_5|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4} AuxVars[] AssignedVars[] {396#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:05,623 INFO L290 TraceCheckUtils]: 45: Hoare triple {396#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [151] L66-2-->L67: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem9#1] {396#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:05,625 INFO L290 TraceCheckUtils]: 46: Hoare triple {396#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [166] L67-->L67-1: Formula: (= (select (select |v_#memory_int_8| |v_ULTIMATE.start_main_~#t2~0#1.base_4|) |v_ULTIMATE.start_main_~#t2~0#1.offset_4|) |v_ULTIMATE.start_main_#t~mem10#1_2|) InVars {#memory_int=|v_#memory_int_8|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_4|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} OutVars{#memory_int=|v_#memory_int_8|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_4|, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10#1] {396#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:05,626 INFO L290 TraceCheckUtils]: 47: Hoare triple {396#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [199] L49-1-->L49-2: Formula: (not (< v_~x2~0_1 10000)) InVars {~x2~0=v_~x2~0_1} OutVars{~x2~0=v_~x2~0_1} AuxVars[] AssignedVars[] {396#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:05,626 INFO L290 TraceCheckUtils]: 48: Hoare triple {396#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [201] L49-2-->thread2FINAL: Formula: (and (= |v_thread2Thread1of1ForFork1_#res.base_1| 0) (= |v_thread2Thread1of1ForFork1_#res.offset_1| 0)) InVars {} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_1|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_1|} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, thread2Thread1of1ForFork1_#res.base] {396#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:05,627 INFO L290 TraceCheckUtils]: 49: Hoare triple {396#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [203] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {396#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:05,627 INFO L290 TraceCheckUtils]: 50: Hoare triple {396#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [211] thread2EXIT-->L67-2: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar2_4) (= 0 v_thread2Thread1of1ForFork1_thidvar1_4) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem10#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ .cse0 (- 4294967296)))) v_thread2Thread1of1ForFork1_thidvar0_4)) InVars {thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} OutVars{thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} AuxVars[] AssignedVars[] {396#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:05,628 INFO L290 TraceCheckUtils]: 51: Hoare triple {396#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [120] L67-2-->L69: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10#1] {396#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:05,628 INFO L290 TraceCheckUtils]: 52: Hoare triple {396#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [122] L69-->L69-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {396#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:05,630 INFO L290 TraceCheckUtils]: 53: Hoare triple {396#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [177] L69-1-->L69-2: Formula: (= (ite (not (= v_~x1~0_8 v_~x2~0_8)) 1 0) |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3|) InVars {~x2~0=v_~x2~0_8, ~x1~0=v_~x1~0_8} OutVars{~x2~0=v_~x2~0_8, ~x1~0=v_~x1~0_8, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] {397#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} is VALID [2022-02-20 20:58:05,630 INFO L290 TraceCheckUtils]: 54: Hoare triple {397#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} [139] L69-2-->L34-2: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_5|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {397#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} is VALID [2022-02-20 20:58:05,631 INFO L290 TraceCheckUtils]: 55: Hoare triple {397#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} [147] L34-2-->L35-3: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_6|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_6|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {398#(= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0)} is VALID [2022-02-20 20:58:05,631 INFO L290 TraceCheckUtils]: 56: Hoare triple {398#(= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0)} [114] L35-3-->L34-3: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_8| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_8|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_8|} AuxVars[] AssignedVars[] {393#false} is VALID [2022-02-20 20:58:05,631 INFO L290 TraceCheckUtils]: 57: Hoare triple {393#false} [124] L34-3-->L70: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {393#false} is VALID [2022-02-20 20:58:05,632 INFO L290 TraceCheckUtils]: 58: Hoare triple {393#false} [185] L70-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {393#false} is VALID [2022-02-20 20:58:05,633 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 20:58:05,634 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 20:58:05,634 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [713739022] [2022-02-20 20:58:05,634 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [713739022] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 20:58:05,634 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 20:58:05,634 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-02-20 20:58:05,634 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [933588384] [2022-02-20 20:58:05,635 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 20:58:05,636 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 8.428571428571429) internal successors, (59), 7 states have internal predecessors, (59), 0 states have call successors, (0), 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 59 [2022-02-20 20:58:05,636 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 20:58:05,636 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 8.428571428571429) internal successors, (59), 7 states have internal predecessors, (59), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:58:05,680 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 20:58:05,680 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-20 20:58:05,681 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 20:58:05,681 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-20 20:58:05,681 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=27, Unknown=0, NotChecked=0, Total=42 [2022-02-20 20:58:05,682 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 53 out of 84 [2022-02-20 20:58:05,683 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 71 places, 67 transitions, 138 flow. Second operand has 7 states, 7 states have (on average 55.57142857142857) internal successors, (389), 7 states have internal predecessors, (389), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:58:05,683 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 20:58:05,683 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 53 of 84 [2022-02-20 20:58:05,683 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 20:58:05,861 INFO L129 PetriNetUnfolder]: 56/203 cut-off events. [2022-02-20 20:58:05,861 INFO L130 PetriNetUnfolder]: For 11/24 co-relation queries the response was YES. [2022-02-20 20:58:05,862 INFO L84 FinitePrefix]: Finished finitePrefix Result has 336 conditions, 203 events. 56/203 cut-off events. For 11/24 co-relation queries the response was YES. Maximal size of possible extension queue 16. Compared 685 event pairs, 15 based on Foata normal form. 2/175 useless extension candidates. Maximal degree in co-relation 333. Up to 75 conditions per place. [2022-02-20 20:58:05,864 INFO L132 encePairwiseOnDemand]: 76/84 looper letters, 29 selfloop transitions, 5 changer transitions 4/81 dead transitions. [2022-02-20 20:58:05,864 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 75 places, 81 transitions, 245 flow [2022-02-20 20:58:05,864 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 20:58:05,865 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2022-02-20 20:58:05,872 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 410 transitions. [2022-02-20 20:58:05,872 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.6972789115646258 [2022-02-20 20:58:05,872 INFO L72 ComplementDD]: Start complementDD. Operand 7 states and 410 transitions. [2022-02-20 20:58:05,872 INFO L73 IsDeterministic]: Start isDeterministic. Operand 7 states and 410 transitions. [2022-02-20 20:58:05,873 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 20:58:05,873 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 7 states and 410 transitions. [2022-02-20 20:58:05,875 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 8 states, 7 states have (on average 58.57142857142857) internal successors, (410), 7 states have internal predecessors, (410), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:58:05,876 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 8 states, 8 states have (on average 84.0) internal successors, (672), 8 states have internal predecessors, (672), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:58:05,876 INFO L81 ComplementDD]: Finished complementDD. Result has 8 states, 8 states have (on average 84.0) internal successors, (672), 8 states have internal predecessors, (672), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:58:05,876 INFO L186 Difference]: Start difference. First operand has 71 places, 67 transitions, 138 flow. Second operand 7 states and 410 transitions. [2022-02-20 20:58:05,876 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 75 places, 81 transitions, 245 flow [2022-02-20 20:58:05,877 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 75 places, 81 transitions, 245 flow, removed 0 selfloop flow, removed 0 redundant places. [2022-02-20 20:58:05,879 INFO L242 Difference]: Finished difference. Result has 78 places, 69 transitions, 165 flow [2022-02-20 20:58:05,879 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=84, PETRI_DIFFERENCE_MINUEND_FLOW=138, PETRI_DIFFERENCE_MINUEND_PLACES=69, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=67, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=3, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=62, PETRI_DIFFERENCE_SUBTRAHEND_STATES=7, PETRI_FLOW=165, PETRI_PLACES=78, PETRI_TRANSITIONS=69} [2022-02-20 20:58:05,880 INFO L334 CegarLoopForPetriNet]: 74 programPoint places, 4 predicate places. [2022-02-20 20:58:05,880 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 78 places, 69 transitions, 165 flow [2022-02-20 20:58:05,889 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 501 states, 499 states have (on average 2.4308617234468937) internal successors, (1213), 500 states have internal predecessors, (1213), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:58:05,890 INFO L78 Accepts]: Start accepts. Automaton has has 501 states, 499 states have (on average 2.4308617234468937) internal successors, (1213), 500 states have internal predecessors, (1213), 0 states have call successors, (0), 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 59 [2022-02-20 20:58:05,890 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 20:58:05,890 INFO L470 AbstractCegarLoop]: Abstraction has has 78 places, 69 transitions, 165 flow [2022-02-20 20:58:05,891 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 55.57142857142857) internal successors, (389), 7 states have internal predecessors, (389), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:58:05,891 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 20:58:05,891 INFO L254 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 20:58:05,891 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-02-20 20:58:05,891 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION] === [2022-02-20 20:58:05,892 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 20:58:05,892 INFO L85 PathProgramCache]: Analyzing trace with hash -1054005537, now seen corresponding path program 1 times [2022-02-20 20:58:05,892 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 20:58:05,892 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1671869545] [2022-02-20 20:58:05,893 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:58:05,893 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 20:58:05,912 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:58:05,965 INFO L290 TraceCheckUtils]: 0: Hoare triple {911#true} [167] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {911#true} is VALID [2022-02-20 20:58:05,965 INFO L290 TraceCheckUtils]: 1: Hoare triple {911#true} [145] 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] {911#true} is VALID [2022-02-20 20:58:05,965 INFO L290 TraceCheckUtils]: 2: Hoare triple {911#true} [173] 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[] {911#true} is VALID [2022-02-20 20:58:05,965 INFO L290 TraceCheckUtils]: 3: Hoare triple {911#true} [175] L-1-2-->L21: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {911#true} is VALID [2022-02-20 20:58:05,966 INFO L290 TraceCheckUtils]: 4: Hoare triple {911#true} [133] L21-->L21-1: Formula: (and (= (select |v_#valid_2| 1) 1) (= 2 (select |v_#length_1| 1))) InVars {#length=|v_#length_1|, #valid=|v_#valid_2|} OutVars{#length=|v_#length_1|, #valid=|v_#valid_2|} AuxVars[] AssignedVars[] {911#true} is VALID [2022-02-20 20:58:05,966 INFO L290 TraceCheckUtils]: 5: Hoare triple {911#true} [163] L21-1-->L21-2: Formula: (= 48 (select (select |v_#memory_int_1| 1) 0)) InVars {#memory_int=|v_#memory_int_1|} OutVars{#memory_int=|v_#memory_int_1|} AuxVars[] AssignedVars[] {911#true} is VALID [2022-02-20 20:58:05,966 INFO L290 TraceCheckUtils]: 6: Hoare triple {911#true} [161] L21-2-->L21-3: Formula: (= (select (select |v_#memory_int_2| 1) 1) 0) InVars {#memory_int=|v_#memory_int_2|} OutVars{#memory_int=|v_#memory_int_2|} AuxVars[] AssignedVars[] {911#true} is VALID [2022-02-20 20:58:05,966 INFO L290 TraceCheckUtils]: 7: Hoare triple {911#true} [125] L21-3-->L21-4: Formula: (and (= (select |v_#valid_3| 2) 1) (= (select |v_#length_2| 2) 17)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {911#true} is VALID [2022-02-20 20:58:05,966 INFO L290 TraceCheckUtils]: 8: Hoare triple {911#true} [181] L21-4-->L38: Formula: (= v_~x1~0_5 0) InVars {} OutVars{~x1~0=v_~x1~0_5} AuxVars[] AssignedVars[~x1~0] {911#true} is VALID [2022-02-20 20:58:05,966 INFO L290 TraceCheckUtils]: 9: Hoare triple {911#true} [182] L38-->L-1-3: Formula: (= v_~x2~0_5 0) InVars {} OutVars{~x2~0=v_~x2~0_5} AuxVars[] AssignedVars[~x2~0] {911#true} is VALID [2022-02-20 20:58:05,967 INFO L290 TraceCheckUtils]: 10: Hoare triple {911#true} [179] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {911#true} is VALID [2022-02-20 20:58:05,967 INFO L290 TraceCheckUtils]: 11: Hoare triple {911#true} [157] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {911#true} is VALID [2022-02-20 20:58:05,975 INFO L290 TraceCheckUtils]: 12: Hoare triple {911#true} [123] L-1-5-->L-1-6: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {911#true} is VALID [2022-02-20 20:58:05,975 INFO L290 TraceCheckUtils]: 13: Hoare triple {911#true} [155] L-1-6-->L57: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_1|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_1|, ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_1|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_1|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_1|, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_1|, ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_#t~nondet8#1=|v_ULTIMATE.start_main_#t~nondet8#1_1|, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_1|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_1|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1, ULTIMATE.start_main_#t~nondet4#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t2~0#1.offset, ULTIMATE.start_main_#t~nondet8#1, ULTIMATE.start_main_#t~nondet6#1, ULTIMATE.start_main_#t~mem9#1, ULTIMATE.start_main_#t~pre7#1, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset, ULTIMATE.start_main_#t~mem10#1, ULTIMATE.start_main_~#t2~0#1.base] {911#true} is VALID [2022-02-20 20:58:05,975 INFO L290 TraceCheckUtils]: 14: Hoare triple {911#true} [184] L57-->L57-1: Formula: (and (= |v_ULTIMATE.start_main_~#t1~0#1.offset_2| 0) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) 0) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 4)) (not (= |v_ULTIMATE.start_main_~#t1~0#1.base_2| 0)) (= (store |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 1) |v_#valid_4|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_2|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[#valid, #length, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset] {911#true} is VALID [2022-02-20 20:58:05,976 INFO L290 TraceCheckUtils]: 15: Hoare triple {911#true} [121] L57-1-->L57-2: Formula: (and (= |v_#length_5| (store |v_#length_6| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 4)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2|) 0) (= (store |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 1) |v_#valid_6|) (not (= |v_ULTIMATE.start_main_~#t2~0#1.base_2| 0)) (= 0 |v_ULTIMATE.start_main_~#t2~0#1.offset_2|) (< |v_#StackHeapBarrier_3| |v_ULTIMATE.start_main_~#t2~0#1.base_2|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_7|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_5|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_2|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t2~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t2~0#1.base] {911#true} is VALID [2022-02-20 20:58:05,976 INFO L290 TraceCheckUtils]: 16: Hoare triple {911#true} [172] L57-2-->L59: Formula: (and (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet3#1_2| 2147483648)) (<= |v_ULTIMATE.start_main_#t~nondet3#1_2| 2147483647)) InVars {ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[] {911#true} is VALID [2022-02-20 20:58:05,976 INFO L290 TraceCheckUtils]: 17: Hoare triple {911#true} [140] L59-->L59-1: Formula: (= v_~x1~0_6 |v_ULTIMATE.start_main_#t~nondet3#1_3|) InVars {ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_3|} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_3|, ~x1~0=v_~x1~0_6} AuxVars[] AssignedVars[~x1~0] {911#true} is VALID [2022-02-20 20:58:05,976 INFO L290 TraceCheckUtils]: 18: Hoare triple {911#true} [115] L59-1-->L60: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] {911#true} is VALID [2022-02-20 20:58:05,976 INFO L290 TraceCheckUtils]: 19: Hoare triple {911#true} [178] L60-->L60-1: Formula: (and (<= |v_ULTIMATE.start_main_#t~nondet4#1_2| 2147483647) (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet4#1_2| 2147483648))) InVars {ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_2|} OutVars{ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_2|} AuxVars[] AssignedVars[] {911#true} is VALID [2022-02-20 20:58:05,977 INFO L290 TraceCheckUtils]: 20: Hoare triple {911#true} [143] L60-1-->L60-2: Formula: (= v_~x2~0_6 |v_ULTIMATE.start_main_#t~nondet4#1_3|) InVars {ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_3|} OutVars{~x2~0=v_~x2~0_6, ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_3|} AuxVars[] AssignedVars[~x2~0] {911#true} is VALID [2022-02-20 20:58:05,977 INFO L290 TraceCheckUtils]: 21: Hoare triple {911#true} [129] L60-2-->L61: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet4#1] {911#true} is VALID [2022-02-20 20:58:05,977 INFO L290 TraceCheckUtils]: 22: Hoare triple {911#true} [109] L61-->L61-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {911#true} is VALID [2022-02-20 20:58:05,978 INFO L290 TraceCheckUtils]: 23: Hoare triple {911#true} [154] L61-1-->L61-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1| (ite (and (<= 0 v_~x1~0_7) (= v_~x1~0_7 v_~x2~0_7)) 1 0)) InVars {~x2~0=v_~x2~0_7, ~x1~0=v_~x1~0_7} OutVars{~x2~0=v_~x2~0_7, ~x1~0=v_~x1~0_7, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] {913#(or (<= ~x2~0 ~x1~0) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0))} is VALID [2022-02-20 20:58:05,978 INFO L290 TraceCheckUtils]: 24: Hoare triple {913#(or (<= ~x2~0 ~x1~0) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0))} [162] L61-2-->L34: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {913#(or (<= ~x2~0 ~x1~0) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0))} is VALID [2022-02-20 20:58:05,978 INFO L290 TraceCheckUtils]: 25: Hoare triple {913#(or (<= ~x2~0 ~x1~0) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0))} [132] L34-->L35: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_2|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_2|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {914#(or (<= ~x2~0 ~x1~0) (= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0))} is VALID [2022-02-20 20:58:05,979 INFO L290 TraceCheckUtils]: 26: Hoare triple {914#(or (<= ~x2~0 ~x1~0) (= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0))} [165] L35-->L34-1: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_4| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_4|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_4|} AuxVars[] AssignedVars[] {915#(<= ~x2~0 ~x1~0)} is VALID [2022-02-20 20:58:05,979 INFO L290 TraceCheckUtils]: 27: Hoare triple {915#(<= ~x2~0 ~x1~0)} [158] L34-1-->L64: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {915#(<= ~x2~0 ~x1~0)} is VALID [2022-02-20 20:58:05,979 INFO L290 TraceCheckUtils]: 28: Hoare triple {915#(<= ~x2~0 ~x1~0)} [128] L64-->L64-1: Formula: (= |v_ULTIMATE.start_main_#t~pre5#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_2|, #pthreadsForks=|v_#pthreadsForks_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1] {915#(<= ~x2~0 ~x1~0)} is VALID [2022-02-20 20:58:05,980 INFO L290 TraceCheckUtils]: 29: Hoare triple {915#(<= ~x2~0 ~x1~0)} [174] L64-1-->L64-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {915#(<= ~x2~0 ~x1~0)} is VALID [2022-02-20 20:58:05,980 INFO L290 TraceCheckUtils]: 30: Hoare triple {915#(<= ~x2~0 ~x1~0)} [187] L64-2-->L64-3: Formula: (= (store |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3| (store (select |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3|) |v_ULTIMATE.start_main_~#t1~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre5#1_3|)) |v_#memory_int_3|) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_3|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_3|, #memory_int=|v_#memory_int_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} AuxVars[] AssignedVars[#memory_int] {915#(<= ~x2~0 ~x1~0)} is VALID [2022-02-20 20:58:05,981 INFO L290 TraceCheckUtils]: 31: Hoare triple {915#(<= ~x2~0 ~x1~0)} [207] L64-3-->L41-1: Formula: (and (= v_thread1Thread1of1ForFork0_thidvar1_2 0) (= |v_ULTIMATE.start_main_#t~pre5#1_6| v_thread1Thread1of1ForFork0_thidvar0_2)) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_6|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_6|, thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_4|, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_8|, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_2, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_4|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_2} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#t~post1, thread1Thread1of1ForFork0_thidvar0, thread1Thread1of1ForFork0_#res.offset, thread1Thread1of1ForFork0_thidvar1] {915#(<= ~x2~0 ~x1~0)} is VALID [2022-02-20 20:58:05,981 INFO L290 TraceCheckUtils]: 32: Hoare triple {915#(<= ~x2~0 ~x1~0)} [146] L64-4-->L64-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1] {915#(<= ~x2~0 ~x1~0)} is VALID [2022-02-20 20:58:05,981 INFO L290 TraceCheckUtils]: 33: Hoare triple {915#(<= ~x2~0 ~x1~0)} [142] L64-5-->L65: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet6#1] {915#(<= ~x2~0 ~x1~0)} is VALID [2022-02-20 20:58:05,982 INFO L290 TraceCheckUtils]: 34: Hoare triple {915#(<= ~x2~0 ~x1~0)} [188] L65-->L65-1: Formula: (= |v_ULTIMATE.start_main_#t~pre7#1_2| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{#pthreadsForks=|v_#pthreadsForks_4|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre7#1] {915#(<= ~x2~0 ~x1~0)} is VALID [2022-02-20 20:58:05,982 INFO L290 TraceCheckUtils]: 35: Hoare triple {915#(<= ~x2~0 ~x1~0)} [169] L65-1-->L65-2: Formula: (= (+ 1 |v_#pthreadsForks_6|) |v_#pthreadsForks_5|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_5|} AuxVars[] AssignedVars[#pthreadsForks] {915#(<= ~x2~0 ~x1~0)} is VALID [2022-02-20 20:58:05,982 INFO L290 TraceCheckUtils]: 36: Hoare triple {915#(<= ~x2~0 ~x1~0)} [144] L65-2-->L65-3: Formula: (= (store |v_#memory_int_6| |v_ULTIMATE.start_main_~#t2~0#1.base_3| (store (select |v_#memory_int_6| |v_ULTIMATE.start_main_~#t2~0#1.base_3|) |v_ULTIMATE.start_main_~#t2~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre7#1_3|)) |v_#memory_int_5|) InVars {#memory_int=|v_#memory_int_6|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_3|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} OutVars{#memory_int=|v_#memory_int_5|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_3|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} AuxVars[] AssignedVars[#memory_int] {915#(<= ~x2~0 ~x1~0)} is VALID [2022-02-20 20:58:05,983 INFO L290 TraceCheckUtils]: 37: Hoare triple {915#(<= ~x2~0 ~x1~0)} [209] L65-3-->L49-1: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar1_2) (= |v_ULTIMATE.start_main_#t~pre7#1_6| v_thread2Thread1of1ForFork1_thidvar0_2) (= 0 v_thread2Thread1of1ForFork1_thidvar2_2)) InVars {ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_6|} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_4|, thread2Thread1of1ForFork1_#t~post2=|v_thread2Thread1of1ForFork1_#t~post2_8|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_4|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_6|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_2, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_2, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_2} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, thread2Thread1of1ForFork1_#t~post2, thread2Thread1of1ForFork1_#res.base, thread2Thread1of1ForFork1_thidvar2, thread2Thread1of1ForFork1_thidvar0, thread2Thread1of1ForFork1_thidvar1] {915#(<= ~x2~0 ~x1~0)} is VALID [2022-02-20 20:58:05,983 INFO L290 TraceCheckUtils]: 38: Hoare triple {915#(<= ~x2~0 ~x1~0)} [192] L41-1-->L42: Formula: (< v_~x1~0_2 10000) InVars {~x1~0=v_~x1~0_2} OutVars{~x1~0=v_~x1~0_2} AuxVars[] AssignedVars[] {916#(<= ~x2~0 9999)} is VALID [2022-02-20 20:58:05,983 INFO L290 TraceCheckUtils]: 39: Hoare triple {916#(<= ~x2~0 9999)} [194] L42-->L42-1: Formula: (= v_~x1~0_3 |v_thread1Thread1of1ForFork0_#t~post1_1|) InVars {~x1~0=v_~x1~0_3} OutVars{thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_1|, ~x1~0=v_~x1~0_3} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post1] {916#(<= ~x2~0 9999)} is VALID [2022-02-20 20:58:05,984 INFO L290 TraceCheckUtils]: 40: Hoare triple {916#(<= ~x2~0 9999)} [199] L49-1-->L49-2: Formula: (not (< v_~x2~0_1 10000)) InVars {~x2~0=v_~x2~0_1} OutVars{~x2~0=v_~x2~0_1} AuxVars[] AssignedVars[] {912#false} is VALID [2022-02-20 20:58:05,984 INFO L290 TraceCheckUtils]: 41: Hoare triple {912#false} [201] L49-2-->thread2FINAL: Formula: (and (= |v_thread2Thread1of1ForFork1_#res.base_1| 0) (= |v_thread2Thread1of1ForFork1_#res.offset_1| 0)) InVars {} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_1|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_1|} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, thread2Thread1of1ForFork1_#res.base] {912#false} is VALID [2022-02-20 20:58:05,984 INFO L290 TraceCheckUtils]: 42: Hoare triple {912#false} [203] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {912#false} is VALID [2022-02-20 20:58:05,984 INFO L290 TraceCheckUtils]: 43: Hoare triple {912#false} [196] L42-1-->L42-2: Formula: (= v_~x1~0_4 (+ |v_thread1Thread1of1ForFork0_#t~post1_3| 1)) InVars {thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_3|} OutVars{thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_3|, ~x1~0=v_~x1~0_4} AuxVars[] AssignedVars[~x1~0] {912#false} is VALID [2022-02-20 20:58:05,984 INFO L290 TraceCheckUtils]: 44: Hoare triple {912#false} [197] L42-2-->L41-1: Formula: true InVars {} OutVars{thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_5|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post1] {912#false} is VALID [2022-02-20 20:58:05,985 INFO L290 TraceCheckUtils]: 45: Hoare triple {912#false} [191] L41-1-->L41-2: Formula: (not (< v_~x1~0_1 10000)) InVars {~x1~0=v_~x1~0_1} OutVars{~x1~0=v_~x1~0_1} AuxVars[] AssignedVars[] {912#false} is VALID [2022-02-20 20:58:05,985 INFO L290 TraceCheckUtils]: 46: Hoare triple {912#false} [193] L41-2-->thread1FINAL: Formula: (and (= |v_thread1Thread1of1ForFork0_#res.base_1| 0) (= |v_thread1Thread1of1ForFork0_#res.offset_1| 0)) InVars {} OutVars{thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_1|, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#res.offset] {912#false} is VALID [2022-02-20 20:58:05,985 INFO L290 TraceCheckUtils]: 47: Hoare triple {912#false} [195] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {912#false} is VALID [2022-02-20 20:58:05,985 INFO L290 TraceCheckUtils]: 48: Hoare triple {912#false} [126] L65-4-->L65-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre7#1] {912#false} is VALID [2022-02-20 20:58:05,985 INFO L290 TraceCheckUtils]: 49: Hoare triple {912#false} [130] L65-5-->L66: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet8#1=|v_ULTIMATE.start_main_#t~nondet8#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet8#1] {912#false} is VALID [2022-02-20 20:58:05,985 INFO L290 TraceCheckUtils]: 50: Hoare triple {912#false} [138] L66-->L66-1: Formula: (= |v_ULTIMATE.start_main_#t~mem9#1_2| (select (select |v_#memory_int_7| |v_ULTIMATE.start_main_~#t1~0#1.base_4|) |v_ULTIMATE.start_main_~#t1~0#1.offset_4|)) InVars {#memory_int=|v_#memory_int_7|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_4|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_4|} OutVars{#memory_int=|v_#memory_int_7|, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_2|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_4|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem9#1] {912#false} is VALID [2022-02-20 20:58:05,985 INFO L290 TraceCheckUtils]: 51: Hoare triple {912#false} [210] thread1EXIT-->L66-2: Formula: (and (= v_thread1Thread1of1ForFork0_thidvar1_4 0) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem9#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ (- 4294967296) .cse0))) v_thread1Thread1of1ForFork0_thidvar0_4)) InVars {thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_5|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4} OutVars{thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_5|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4} AuxVars[] AssignedVars[] {912#false} is VALID [2022-02-20 20:58:05,986 INFO L290 TraceCheckUtils]: 52: Hoare triple {912#false} [151] L66-2-->L67: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem9#1] {912#false} is VALID [2022-02-20 20:58:05,986 INFO L290 TraceCheckUtils]: 53: Hoare triple {912#false} [166] L67-->L67-1: Formula: (= (select (select |v_#memory_int_8| |v_ULTIMATE.start_main_~#t2~0#1.base_4|) |v_ULTIMATE.start_main_~#t2~0#1.offset_4|) |v_ULTIMATE.start_main_#t~mem10#1_2|) InVars {#memory_int=|v_#memory_int_8|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_4|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} OutVars{#memory_int=|v_#memory_int_8|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_4|, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10#1] {912#false} is VALID [2022-02-20 20:58:05,986 INFO L290 TraceCheckUtils]: 54: Hoare triple {912#false} [211] thread2EXIT-->L67-2: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar2_4) (= 0 v_thread2Thread1of1ForFork1_thidvar1_4) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem10#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ .cse0 (- 4294967296)))) v_thread2Thread1of1ForFork1_thidvar0_4)) InVars {thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} OutVars{thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} AuxVars[] AssignedVars[] {912#false} is VALID [2022-02-20 20:58:05,987 INFO L290 TraceCheckUtils]: 55: Hoare triple {912#false} [120] L67-2-->L69: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10#1] {912#false} is VALID [2022-02-20 20:58:05,987 INFO L290 TraceCheckUtils]: 56: Hoare triple {912#false} [122] L69-->L69-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {912#false} is VALID [2022-02-20 20:58:05,987 INFO L290 TraceCheckUtils]: 57: Hoare triple {912#false} [177] L69-1-->L69-2: Formula: (= (ite (not (= v_~x1~0_8 v_~x2~0_8)) 1 0) |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3|) InVars {~x2~0=v_~x2~0_8, ~x1~0=v_~x1~0_8} OutVars{~x2~0=v_~x2~0_8, ~x1~0=v_~x1~0_8, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] {912#false} is VALID [2022-02-20 20:58:05,987 INFO L290 TraceCheckUtils]: 58: Hoare triple {912#false} [139] L69-2-->L34-2: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_5|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {912#false} is VALID [2022-02-20 20:58:05,987 INFO L290 TraceCheckUtils]: 59: Hoare triple {912#false} [147] L34-2-->L35-3: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_6|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_6|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {912#false} is VALID [2022-02-20 20:58:05,987 INFO L290 TraceCheckUtils]: 60: Hoare triple {912#false} [114] L35-3-->L34-3: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_8| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_8|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_8|} AuxVars[] AssignedVars[] {912#false} is VALID [2022-02-20 20:58:05,988 INFO L290 TraceCheckUtils]: 61: Hoare triple {912#false} [124] L34-3-->L70: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {912#false} is VALID [2022-02-20 20:58:05,988 INFO L290 TraceCheckUtils]: 62: Hoare triple {912#false} [185] L70-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {912#false} is VALID [2022-02-20 20:58:05,995 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 20:58:05,996 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 20:58:05,996 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1671869545] [2022-02-20 20:58:05,997 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1671869545] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 20:58:05,997 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 20:58:05,997 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-02-20 20:58:05,997 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1472097293] [2022-02-20 20:58:05,997 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 20:58:05,998 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 10.5) internal successors, (63), 6 states have internal predecessors, (63), 0 states have call successors, (0), 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 63 [2022-02-20 20:58:05,998 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 20:58:05,999 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 10.5) internal successors, (63), 6 states have internal predecessors, (63), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:58:06,045 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 20:58:06,045 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 20:58:06,045 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 20:58:06,046 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 20:58:06,046 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-02-20 20:58:06,047 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 53 out of 84 [2022-02-20 20:58:06,047 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 78 places, 69 transitions, 165 flow. Second operand has 6 states, 6 states have (on average 56.5) internal successors, (339), 6 states have internal predecessors, (339), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:58:06,048 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 20:58:06,048 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 53 of 84 [2022-02-20 20:58:06,048 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 20:58:06,197 INFO L129 PetriNetUnfolder]: 58/227 cut-off events. [2022-02-20 20:58:06,197 INFO L130 PetriNetUnfolder]: For 23/36 co-relation queries the response was YES. [2022-02-20 20:58:06,198 INFO L84 FinitePrefix]: Finished finitePrefix Result has 427 conditions, 227 events. 58/227 cut-off events. For 23/36 co-relation queries the response was YES. Maximal size of possible extension queue 20. Compared 844 event pairs, 9 based on Foata normal form. 2/199 useless extension candidates. Maximal degree in co-relation 420. Up to 45 conditions per place. [2022-02-20 20:58:06,199 INFO L132 encePairwiseOnDemand]: 73/84 looper letters, 38 selfloop transitions, 13 changer transitions 1/95 dead transitions. [2022-02-20 20:58:06,199 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 82 places, 95 transitions, 338 flow [2022-02-20 20:58:06,199 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 20:58:06,199 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2022-02-20 20:58:06,203 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 424 transitions. [2022-02-20 20:58:06,203 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.7210884353741497 [2022-02-20 20:58:06,203 INFO L72 ComplementDD]: Start complementDD. Operand 7 states and 424 transitions. [2022-02-20 20:58:06,203 INFO L73 IsDeterministic]: Start isDeterministic. Operand 7 states and 424 transitions. [2022-02-20 20:58:06,203 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 20:58:06,204 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 7 states and 424 transitions. [2022-02-20 20:58:06,204 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 8 states, 7 states have (on average 60.57142857142857) internal successors, (424), 7 states have internal predecessors, (424), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:58:06,205 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 8 states, 8 states have (on average 84.0) internal successors, (672), 8 states have internal predecessors, (672), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:58:06,206 INFO L81 ComplementDD]: Finished complementDD. Result has 8 states, 8 states have (on average 84.0) internal successors, (672), 8 states have internal predecessors, (672), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:58:06,206 INFO L186 Difference]: Start difference. First operand has 78 places, 69 transitions, 165 flow. Second operand 7 states and 424 transitions. [2022-02-20 20:58:06,206 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 82 places, 95 transitions, 338 flow [2022-02-20 20:58:07,572 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 77 places, 95 transitions, 323 flow, removed 4 selfloop flow, removed 5 redundant places. [2022-02-20 20:58:07,574 INFO L242 Difference]: Finished difference. Result has 81 places, 74 transitions, 226 flow [2022-02-20 20:58:07,574 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=84, PETRI_DIFFERENCE_MINUEND_FLOW=154, PETRI_DIFFERENCE_MINUEND_PLACES=71, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=69, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=8, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=58, PETRI_DIFFERENCE_SUBTRAHEND_STATES=7, PETRI_FLOW=226, PETRI_PLACES=81, PETRI_TRANSITIONS=74} [2022-02-20 20:58:07,574 INFO L334 CegarLoopForPetriNet]: 74 programPoint places, 7 predicate places. [2022-02-20 20:58:07,575 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 81 places, 74 transitions, 226 flow [2022-02-20 20:58:07,590 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 664 states, 661 states have (on average 2.3978819969742813) internal successors, (1585), 663 states have internal predecessors, (1585), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:58:07,591 INFO L78 Accepts]: Start accepts. Automaton has has 664 states, 661 states have (on average 2.3978819969742813) internal successors, (1585), 663 states have internal predecessors, (1585), 0 states have call successors, (0), 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 63 [2022-02-20 20:58:07,591 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 20:58:07,591 INFO L470 AbstractCegarLoop]: Abstraction has has 81 places, 74 transitions, 226 flow [2022-02-20 20:58:07,592 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 56.5) internal successors, (339), 6 states have internal predecessors, (339), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:58:07,592 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 20:58:07,592 INFO L254 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 20:58:07,592 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-02-20 20:58:07,592 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION] === [2022-02-20 20:58:07,593 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 20:58:07,593 INFO L85 PathProgramCache]: Analyzing trace with hash 1111700063, now seen corresponding path program 2 times [2022-02-20 20:58:07,593 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 20:58:07,593 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1268193718] [2022-02-20 20:58:07,593 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:58:07,593 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 20:58:07,613 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:58:07,676 INFO L290 TraceCheckUtils]: 0: Hoare triple {1591#true} [167] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1591#true} is VALID [2022-02-20 20:58:07,676 INFO L290 TraceCheckUtils]: 1: Hoare triple {1591#true} [145] 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] {1591#true} is VALID [2022-02-20 20:58:07,677 INFO L290 TraceCheckUtils]: 2: Hoare triple {1591#true} [173] 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[] {1591#true} is VALID [2022-02-20 20:58:07,677 INFO L290 TraceCheckUtils]: 3: Hoare triple {1591#true} [175] L-1-2-->L21: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {1591#true} is VALID [2022-02-20 20:58:07,677 INFO L290 TraceCheckUtils]: 4: Hoare triple {1591#true} [133] L21-->L21-1: Formula: (and (= (select |v_#valid_2| 1) 1) (= 2 (select |v_#length_1| 1))) InVars {#length=|v_#length_1|, #valid=|v_#valid_2|} OutVars{#length=|v_#length_1|, #valid=|v_#valid_2|} AuxVars[] AssignedVars[] {1591#true} is VALID [2022-02-20 20:58:07,677 INFO L290 TraceCheckUtils]: 5: Hoare triple {1591#true} [163] L21-1-->L21-2: Formula: (= 48 (select (select |v_#memory_int_1| 1) 0)) InVars {#memory_int=|v_#memory_int_1|} OutVars{#memory_int=|v_#memory_int_1|} AuxVars[] AssignedVars[] {1591#true} is VALID [2022-02-20 20:58:07,677 INFO L290 TraceCheckUtils]: 6: Hoare triple {1591#true} [161] L21-2-->L21-3: Formula: (= (select (select |v_#memory_int_2| 1) 1) 0) InVars {#memory_int=|v_#memory_int_2|} OutVars{#memory_int=|v_#memory_int_2|} AuxVars[] AssignedVars[] {1591#true} is VALID [2022-02-20 20:58:07,677 INFO L290 TraceCheckUtils]: 7: Hoare triple {1591#true} [125] L21-3-->L21-4: Formula: (and (= (select |v_#valid_3| 2) 1) (= (select |v_#length_2| 2) 17)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {1591#true} is VALID [2022-02-20 20:58:07,677 INFO L290 TraceCheckUtils]: 8: Hoare triple {1591#true} [181] L21-4-->L38: Formula: (= v_~x1~0_5 0) InVars {} OutVars{~x1~0=v_~x1~0_5} AuxVars[] AssignedVars[~x1~0] {1591#true} is VALID [2022-02-20 20:58:07,678 INFO L290 TraceCheckUtils]: 9: Hoare triple {1591#true} [182] L38-->L-1-3: Formula: (= v_~x2~0_5 0) InVars {} OutVars{~x2~0=v_~x2~0_5} AuxVars[] AssignedVars[~x2~0] {1591#true} is VALID [2022-02-20 20:58:07,678 INFO L290 TraceCheckUtils]: 10: Hoare triple {1591#true} [179] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1591#true} is VALID [2022-02-20 20:58:07,678 INFO L290 TraceCheckUtils]: 11: Hoare triple {1591#true} [157] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1591#true} is VALID [2022-02-20 20:58:07,678 INFO L290 TraceCheckUtils]: 12: Hoare triple {1591#true} [123] L-1-5-->L-1-6: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {1591#true} is VALID [2022-02-20 20:58:07,678 INFO L290 TraceCheckUtils]: 13: Hoare triple {1591#true} [155] L-1-6-->L57: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_1|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_1|, ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_1|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_1|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_1|, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_1|, ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_#t~nondet8#1=|v_ULTIMATE.start_main_#t~nondet8#1_1|, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_1|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_1|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1, ULTIMATE.start_main_#t~nondet4#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t2~0#1.offset, ULTIMATE.start_main_#t~nondet8#1, ULTIMATE.start_main_#t~nondet6#1, ULTIMATE.start_main_#t~mem9#1, ULTIMATE.start_main_#t~pre7#1, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset, ULTIMATE.start_main_#t~mem10#1, ULTIMATE.start_main_~#t2~0#1.base] {1591#true} is VALID [2022-02-20 20:58:07,678 INFO L290 TraceCheckUtils]: 14: Hoare triple {1591#true} [184] L57-->L57-1: Formula: (and (= |v_ULTIMATE.start_main_~#t1~0#1.offset_2| 0) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) 0) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 4)) (not (= |v_ULTIMATE.start_main_~#t1~0#1.base_2| 0)) (= (store |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 1) |v_#valid_4|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_2|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[#valid, #length, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset] {1591#true} is VALID [2022-02-20 20:58:07,678 INFO L290 TraceCheckUtils]: 15: Hoare triple {1591#true} [121] L57-1-->L57-2: Formula: (and (= |v_#length_5| (store |v_#length_6| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 4)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2|) 0) (= (store |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 1) |v_#valid_6|) (not (= |v_ULTIMATE.start_main_~#t2~0#1.base_2| 0)) (= 0 |v_ULTIMATE.start_main_~#t2~0#1.offset_2|) (< |v_#StackHeapBarrier_3| |v_ULTIMATE.start_main_~#t2~0#1.base_2|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_7|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_5|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_2|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t2~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t2~0#1.base] {1591#true} is VALID [2022-02-20 20:58:07,679 INFO L290 TraceCheckUtils]: 16: Hoare triple {1591#true} [172] L57-2-->L59: Formula: (and (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet3#1_2| 2147483648)) (<= |v_ULTIMATE.start_main_#t~nondet3#1_2| 2147483647)) InVars {ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[] {1591#true} is VALID [2022-02-20 20:58:07,679 INFO L290 TraceCheckUtils]: 17: Hoare triple {1591#true} [140] L59-->L59-1: Formula: (= v_~x1~0_6 |v_ULTIMATE.start_main_#t~nondet3#1_3|) InVars {ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_3|} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_3|, ~x1~0=v_~x1~0_6} AuxVars[] AssignedVars[~x1~0] {1591#true} is VALID [2022-02-20 20:58:07,679 INFO L290 TraceCheckUtils]: 18: Hoare triple {1591#true} [115] L59-1-->L60: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] {1591#true} is VALID [2022-02-20 20:58:07,679 INFO L290 TraceCheckUtils]: 19: Hoare triple {1591#true} [178] L60-->L60-1: Formula: (and (<= |v_ULTIMATE.start_main_#t~nondet4#1_2| 2147483647) (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet4#1_2| 2147483648))) InVars {ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_2|} OutVars{ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_2|} AuxVars[] AssignedVars[] {1591#true} is VALID [2022-02-20 20:58:07,679 INFO L290 TraceCheckUtils]: 20: Hoare triple {1591#true} [143] L60-1-->L60-2: Formula: (= v_~x2~0_6 |v_ULTIMATE.start_main_#t~nondet4#1_3|) InVars {ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_3|} OutVars{~x2~0=v_~x2~0_6, ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_3|} AuxVars[] AssignedVars[~x2~0] {1591#true} is VALID [2022-02-20 20:58:07,679 INFO L290 TraceCheckUtils]: 21: Hoare triple {1591#true} [129] L60-2-->L61: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet4#1] {1591#true} is VALID [2022-02-20 20:58:07,679 INFO L290 TraceCheckUtils]: 22: Hoare triple {1591#true} [109] L61-->L61-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1591#true} is VALID [2022-02-20 20:58:07,683 INFO L290 TraceCheckUtils]: 23: Hoare triple {1591#true} [154] L61-1-->L61-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1| (ite (and (<= 0 v_~x1~0_7) (= v_~x1~0_7 v_~x2~0_7)) 1 0)) InVars {~x2~0=v_~x2~0_7, ~x1~0=v_~x1~0_7} OutVars{~x2~0=v_~x2~0_7, ~x1~0=v_~x1~0_7, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] {1593#(or (<= ~x2~0 ~x1~0) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0))} is VALID [2022-02-20 20:58:07,683 INFO L290 TraceCheckUtils]: 24: Hoare triple {1593#(or (<= ~x2~0 ~x1~0) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0))} [162] L61-2-->L34: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {1593#(or (<= ~x2~0 ~x1~0) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0))} is VALID [2022-02-20 20:58:07,683 INFO L290 TraceCheckUtils]: 25: Hoare triple {1593#(or (<= ~x2~0 ~x1~0) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0))} [132] L34-->L35: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_2|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_2|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {1594#(or (<= ~x2~0 ~x1~0) (= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0))} is VALID [2022-02-20 20:58:07,684 INFO L290 TraceCheckUtils]: 26: Hoare triple {1594#(or (<= ~x2~0 ~x1~0) (= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0))} [165] L35-->L34-1: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_4| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_4|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_4|} AuxVars[] AssignedVars[] {1595#(<= ~x2~0 ~x1~0)} is VALID [2022-02-20 20:58:07,684 INFO L290 TraceCheckUtils]: 27: Hoare triple {1595#(<= ~x2~0 ~x1~0)} [158] L34-1-->L64: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1595#(<= ~x2~0 ~x1~0)} is VALID [2022-02-20 20:58:07,684 INFO L290 TraceCheckUtils]: 28: Hoare triple {1595#(<= ~x2~0 ~x1~0)} [128] L64-->L64-1: Formula: (= |v_ULTIMATE.start_main_#t~pre5#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_2|, #pthreadsForks=|v_#pthreadsForks_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1] {1595#(<= ~x2~0 ~x1~0)} is VALID [2022-02-20 20:58:07,685 INFO L290 TraceCheckUtils]: 29: Hoare triple {1595#(<= ~x2~0 ~x1~0)} [174] L64-1-->L64-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {1595#(<= ~x2~0 ~x1~0)} is VALID [2022-02-20 20:58:07,685 INFO L290 TraceCheckUtils]: 30: Hoare triple {1595#(<= ~x2~0 ~x1~0)} [187] L64-2-->L64-3: Formula: (= (store |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3| (store (select |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3|) |v_ULTIMATE.start_main_~#t1~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre5#1_3|)) |v_#memory_int_3|) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_3|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_3|, #memory_int=|v_#memory_int_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} AuxVars[] AssignedVars[#memory_int] {1595#(<= ~x2~0 ~x1~0)} is VALID [2022-02-20 20:58:07,685 INFO L290 TraceCheckUtils]: 31: Hoare triple {1595#(<= ~x2~0 ~x1~0)} [207] L64-3-->L41-1: Formula: (and (= v_thread1Thread1of1ForFork0_thidvar1_2 0) (= |v_ULTIMATE.start_main_#t~pre5#1_6| v_thread1Thread1of1ForFork0_thidvar0_2)) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_6|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_6|, thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_4|, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_8|, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_2, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_4|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_2} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#t~post1, thread1Thread1of1ForFork0_thidvar0, thread1Thread1of1ForFork0_#res.offset, thread1Thread1of1ForFork0_thidvar1] {1595#(<= ~x2~0 ~x1~0)} is VALID [2022-02-20 20:58:07,686 INFO L290 TraceCheckUtils]: 32: Hoare triple {1595#(<= ~x2~0 ~x1~0)} [146] L64-4-->L64-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1] {1595#(<= ~x2~0 ~x1~0)} is VALID [2022-02-20 20:58:07,686 INFO L290 TraceCheckUtils]: 33: Hoare triple {1595#(<= ~x2~0 ~x1~0)} [142] L64-5-->L65: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet6#1] {1595#(<= ~x2~0 ~x1~0)} is VALID [2022-02-20 20:58:07,686 INFO L290 TraceCheckUtils]: 34: Hoare triple {1595#(<= ~x2~0 ~x1~0)} [188] L65-->L65-1: Formula: (= |v_ULTIMATE.start_main_#t~pre7#1_2| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{#pthreadsForks=|v_#pthreadsForks_4|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre7#1] {1595#(<= ~x2~0 ~x1~0)} is VALID [2022-02-20 20:58:07,686 INFO L290 TraceCheckUtils]: 35: Hoare triple {1595#(<= ~x2~0 ~x1~0)} [169] L65-1-->L65-2: Formula: (= (+ 1 |v_#pthreadsForks_6|) |v_#pthreadsForks_5|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_5|} AuxVars[] AssignedVars[#pthreadsForks] {1595#(<= ~x2~0 ~x1~0)} is VALID [2022-02-20 20:58:07,687 INFO L290 TraceCheckUtils]: 36: Hoare triple {1595#(<= ~x2~0 ~x1~0)} [144] L65-2-->L65-3: Formula: (= (store |v_#memory_int_6| |v_ULTIMATE.start_main_~#t2~0#1.base_3| (store (select |v_#memory_int_6| |v_ULTIMATE.start_main_~#t2~0#1.base_3|) |v_ULTIMATE.start_main_~#t2~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre7#1_3|)) |v_#memory_int_5|) InVars {#memory_int=|v_#memory_int_6|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_3|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} OutVars{#memory_int=|v_#memory_int_5|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_3|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} AuxVars[] AssignedVars[#memory_int] {1595#(<= ~x2~0 ~x1~0)} is VALID [2022-02-20 20:58:07,687 INFO L290 TraceCheckUtils]: 37: Hoare triple {1595#(<= ~x2~0 ~x1~0)} [209] L65-3-->L49-1: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar1_2) (= |v_ULTIMATE.start_main_#t~pre7#1_6| v_thread2Thread1of1ForFork1_thidvar0_2) (= 0 v_thread2Thread1of1ForFork1_thidvar2_2)) InVars {ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_6|} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_4|, thread2Thread1of1ForFork1_#t~post2=|v_thread2Thread1of1ForFork1_#t~post2_8|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_4|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_6|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_2, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_2, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_2} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, thread2Thread1of1ForFork1_#t~post2, thread2Thread1of1ForFork1_#res.base, thread2Thread1of1ForFork1_thidvar2, thread2Thread1of1ForFork1_thidvar0, thread2Thread1of1ForFork1_thidvar1] {1595#(<= ~x2~0 ~x1~0)} is VALID [2022-02-20 20:58:07,687 INFO L290 TraceCheckUtils]: 38: Hoare triple {1595#(<= ~x2~0 ~x1~0)} [199] L49-1-->L49-2: Formula: (not (< v_~x2~0_1 10000)) InVars {~x2~0=v_~x2~0_1} OutVars{~x2~0=v_~x2~0_1} AuxVars[] AssignedVars[] {1596#(<= 10000 ~x1~0)} is VALID [2022-02-20 20:58:07,688 INFO L290 TraceCheckUtils]: 39: Hoare triple {1596#(<= 10000 ~x1~0)} [192] L41-1-->L42: Formula: (< v_~x1~0_2 10000) InVars {~x1~0=v_~x1~0_2} OutVars{~x1~0=v_~x1~0_2} AuxVars[] AssignedVars[] {1592#false} is VALID [2022-02-20 20:58:07,688 INFO L290 TraceCheckUtils]: 40: Hoare triple {1592#false} [194] L42-->L42-1: Formula: (= v_~x1~0_3 |v_thread1Thread1of1ForFork0_#t~post1_1|) InVars {~x1~0=v_~x1~0_3} OutVars{thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_1|, ~x1~0=v_~x1~0_3} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post1] {1592#false} is VALID [2022-02-20 20:58:07,688 INFO L290 TraceCheckUtils]: 41: Hoare triple {1592#false} [196] L42-1-->L42-2: Formula: (= v_~x1~0_4 (+ |v_thread1Thread1of1ForFork0_#t~post1_3| 1)) InVars {thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_3|} OutVars{thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_3|, ~x1~0=v_~x1~0_4} AuxVars[] AssignedVars[~x1~0] {1592#false} is VALID [2022-02-20 20:58:07,688 INFO L290 TraceCheckUtils]: 42: Hoare triple {1592#false} [197] L42-2-->L41-1: Formula: true InVars {} OutVars{thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_5|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post1] {1592#false} is VALID [2022-02-20 20:58:07,688 INFO L290 TraceCheckUtils]: 43: Hoare triple {1592#false} [191] L41-1-->L41-2: Formula: (not (< v_~x1~0_1 10000)) InVars {~x1~0=v_~x1~0_1} OutVars{~x1~0=v_~x1~0_1} AuxVars[] AssignedVars[] {1592#false} is VALID [2022-02-20 20:58:07,688 INFO L290 TraceCheckUtils]: 44: Hoare triple {1592#false} [193] L41-2-->thread1FINAL: Formula: (and (= |v_thread1Thread1of1ForFork0_#res.base_1| 0) (= |v_thread1Thread1of1ForFork0_#res.offset_1| 0)) InVars {} OutVars{thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_1|, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#res.offset] {1592#false} is VALID [2022-02-20 20:58:07,689 INFO L290 TraceCheckUtils]: 45: Hoare triple {1592#false} [195] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1592#false} is VALID [2022-02-20 20:58:07,689 INFO L290 TraceCheckUtils]: 46: Hoare triple {1592#false} [126] L65-4-->L65-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre7#1] {1592#false} is VALID [2022-02-20 20:58:07,689 INFO L290 TraceCheckUtils]: 47: Hoare triple {1592#false} [130] L65-5-->L66: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet8#1=|v_ULTIMATE.start_main_#t~nondet8#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet8#1] {1592#false} is VALID [2022-02-20 20:58:07,689 INFO L290 TraceCheckUtils]: 48: Hoare triple {1592#false} [138] L66-->L66-1: Formula: (= |v_ULTIMATE.start_main_#t~mem9#1_2| (select (select |v_#memory_int_7| |v_ULTIMATE.start_main_~#t1~0#1.base_4|) |v_ULTIMATE.start_main_~#t1~0#1.offset_4|)) InVars {#memory_int=|v_#memory_int_7|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_4|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_4|} OutVars{#memory_int=|v_#memory_int_7|, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_2|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_4|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem9#1] {1592#false} is VALID [2022-02-20 20:58:07,689 INFO L290 TraceCheckUtils]: 49: Hoare triple {1592#false} [210] thread1EXIT-->L66-2: Formula: (and (= v_thread1Thread1of1ForFork0_thidvar1_4 0) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem9#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ (- 4294967296) .cse0))) v_thread1Thread1of1ForFork0_thidvar0_4)) InVars {thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_5|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4} OutVars{thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_5|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4} AuxVars[] AssignedVars[] {1592#false} is VALID [2022-02-20 20:58:07,689 INFO L290 TraceCheckUtils]: 50: Hoare triple {1592#false} [201] L49-2-->thread2FINAL: Formula: (and (= |v_thread2Thread1of1ForFork1_#res.base_1| 0) (= |v_thread2Thread1of1ForFork1_#res.offset_1| 0)) InVars {} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_1|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_1|} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, thread2Thread1of1ForFork1_#res.base] {1592#false} is VALID [2022-02-20 20:58:07,689 INFO L290 TraceCheckUtils]: 51: Hoare triple {1592#false} [203] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1592#false} is VALID [2022-02-20 20:58:07,690 INFO L290 TraceCheckUtils]: 52: Hoare triple {1592#false} [151] L66-2-->L67: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem9#1] {1592#false} is VALID [2022-02-20 20:58:07,690 INFO L290 TraceCheckUtils]: 53: Hoare triple {1592#false} [166] L67-->L67-1: Formula: (= (select (select |v_#memory_int_8| |v_ULTIMATE.start_main_~#t2~0#1.base_4|) |v_ULTIMATE.start_main_~#t2~0#1.offset_4|) |v_ULTIMATE.start_main_#t~mem10#1_2|) InVars {#memory_int=|v_#memory_int_8|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_4|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} OutVars{#memory_int=|v_#memory_int_8|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_4|, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10#1] {1592#false} is VALID [2022-02-20 20:58:07,690 INFO L290 TraceCheckUtils]: 54: Hoare triple {1592#false} [211] thread2EXIT-->L67-2: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar2_4) (= 0 v_thread2Thread1of1ForFork1_thidvar1_4) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem10#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ .cse0 (- 4294967296)))) v_thread2Thread1of1ForFork1_thidvar0_4)) InVars {thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} OutVars{thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} AuxVars[] AssignedVars[] {1592#false} is VALID [2022-02-20 20:58:07,690 INFO L290 TraceCheckUtils]: 55: Hoare triple {1592#false} [120] L67-2-->L69: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10#1] {1592#false} is VALID [2022-02-20 20:58:07,690 INFO L290 TraceCheckUtils]: 56: Hoare triple {1592#false} [122] L69-->L69-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1592#false} is VALID [2022-02-20 20:58:07,690 INFO L290 TraceCheckUtils]: 57: Hoare triple {1592#false} [177] L69-1-->L69-2: Formula: (= (ite (not (= v_~x1~0_8 v_~x2~0_8)) 1 0) |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3|) InVars {~x2~0=v_~x2~0_8, ~x1~0=v_~x1~0_8} OutVars{~x2~0=v_~x2~0_8, ~x1~0=v_~x1~0_8, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] {1592#false} is VALID [2022-02-20 20:58:07,690 INFO L290 TraceCheckUtils]: 58: Hoare triple {1592#false} [139] L69-2-->L34-2: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_5|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {1592#false} is VALID [2022-02-20 20:58:07,691 INFO L290 TraceCheckUtils]: 59: Hoare triple {1592#false} [147] L34-2-->L35-3: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_6|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_6|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {1592#false} is VALID [2022-02-20 20:58:07,691 INFO L290 TraceCheckUtils]: 60: Hoare triple {1592#false} [114] L35-3-->L34-3: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_8| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_8|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_8|} AuxVars[] AssignedVars[] {1592#false} is VALID [2022-02-20 20:58:07,691 INFO L290 TraceCheckUtils]: 61: Hoare triple {1592#false} [124] L34-3-->L70: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1592#false} is VALID [2022-02-20 20:58:07,691 INFO L290 TraceCheckUtils]: 62: Hoare triple {1592#false} [185] L70-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1592#false} is VALID [2022-02-20 20:58:07,691 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 20:58:07,691 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 20:58:07,692 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1268193718] [2022-02-20 20:58:07,692 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1268193718] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 20:58:07,692 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 20:58:07,692 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-02-20 20:58:07,692 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1222847291] [2022-02-20 20:58:07,692 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 20:58:07,693 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 10.5) internal successors, (63), 6 states have internal predecessors, (63), 0 states have call successors, (0), 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 63 [2022-02-20 20:58:07,693 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 20:58:07,693 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 10.5) internal successors, (63), 6 states have internal predecessors, (63), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:58:07,727 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 20:58:07,727 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 20:58:07,727 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 20:58:07,727 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 20:58:07,728 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-02-20 20:58:07,728 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 53 out of 84 [2022-02-20 20:58:07,729 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 81 places, 74 transitions, 226 flow. Second operand has 6 states, 6 states have (on average 56.5) internal successors, (339), 6 states have internal predecessors, (339), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:58:07,729 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 20:58:07,729 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 53 of 84 [2022-02-20 20:58:07,729 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 20:58:07,901 INFO L129 PetriNetUnfolder]: 59/229 cut-off events. [2022-02-20 20:58:07,901 INFO L130 PetriNetUnfolder]: For 191/204 co-relation queries the response was YES. [2022-02-20 20:58:07,903 INFO L84 FinitePrefix]: Finished finitePrefix Result has 531 conditions, 229 events. 59/229 cut-off events. For 191/204 co-relation queries the response was YES. Maximal size of possible extension queue 20. Compared 878 event pairs, 8 based on Foata normal form. 3/228 useless extension candidates. Maximal degree in co-relation 523. Up to 52 conditions per place. [2022-02-20 20:58:07,904 INFO L132 encePairwiseOnDemand]: 75/84 looper letters, 36 selfloop transitions, 13 changer transitions 4/96 dead transitions. [2022-02-20 20:58:07,904 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 87 places, 96 transitions, 433 flow [2022-02-20 20:58:07,904 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 20:58:07,904 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2022-02-20 20:58:07,908 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 418 transitions. [2022-02-20 20:58:07,909 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.7108843537414966 [2022-02-20 20:58:07,909 INFO L72 ComplementDD]: Start complementDD. Operand 7 states and 418 transitions. [2022-02-20 20:58:07,909 INFO L73 IsDeterministic]: Start isDeterministic. Operand 7 states and 418 transitions. [2022-02-20 20:58:07,910 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 20:58:07,910 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 7 states and 418 transitions. [2022-02-20 20:58:07,911 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 8 states, 7 states have (on average 59.714285714285715) internal successors, (418), 7 states have internal predecessors, (418), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:58:07,913 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 8 states, 8 states have (on average 84.0) internal successors, (672), 8 states have internal predecessors, (672), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:58:07,914 INFO L81 ComplementDD]: Finished complementDD. Result has 8 states, 8 states have (on average 84.0) internal successors, (672), 8 states have internal predecessors, (672), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:58:07,914 INFO L186 Difference]: Start difference. First operand has 81 places, 74 transitions, 226 flow. Second operand 7 states and 418 transitions. [2022-02-20 20:58:07,914 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 87 places, 96 transitions, 433 flow [2022-02-20 20:58:07,926 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 85 places, 96 transitions, 429 flow, removed 0 selfloop flow, removed 2 redundant places. [2022-02-20 20:58:07,927 INFO L242 Difference]: Finished difference. Result has 88 places, 80 transitions, 317 flow [2022-02-20 20:58:07,927 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=84, PETRI_DIFFERENCE_MINUEND_FLOW=222, PETRI_DIFFERENCE_MINUEND_PLACES=79, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=74, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=7, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=63, PETRI_DIFFERENCE_SUBTRAHEND_STATES=7, PETRI_FLOW=317, PETRI_PLACES=88, PETRI_TRANSITIONS=80} [2022-02-20 20:58:07,928 INFO L334 CegarLoopForPetriNet]: 74 programPoint places, 14 predicate places. [2022-02-20 20:58:07,928 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 88 places, 80 transitions, 317 flow [2022-02-20 20:58:07,946 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 556 states, 554 states have (on average 2.391696750902527) internal successors, (1325), 555 states have internal predecessors, (1325), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:58:07,949 INFO L78 Accepts]: Start accepts. Automaton has has 556 states, 554 states have (on average 2.391696750902527) internal successors, (1325), 555 states have internal predecessors, (1325), 0 states have call successors, (0), 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 63 [2022-02-20 20:58:07,949 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 20:58:07,950 INFO L470 AbstractCegarLoop]: Abstraction has has 88 places, 80 transitions, 317 flow [2022-02-20 20:58:07,951 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 56.5) internal successors, (339), 6 states have internal predecessors, (339), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:58:07,951 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 20:58:07,951 INFO L254 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 20:58:07,951 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-02-20 20:58:07,951 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION] === [2022-02-20 20:58:07,952 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 20:58:07,952 INFO L85 PathProgramCache]: Analyzing trace with hash 1639518373, now seen corresponding path program 1 times [2022-02-20 20:58:07,952 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 20:58:07,952 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [615421533] [2022-02-20 20:58:07,953 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:58:07,953 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 20:58:07,970 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:58:08,032 INFO L290 TraceCheckUtils]: 0: Hoare triple {2162#true} [167] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2162#true} is VALID [2022-02-20 20:58:08,033 INFO L290 TraceCheckUtils]: 1: Hoare triple {2162#true} [145] 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] {2162#true} is VALID [2022-02-20 20:58:08,033 INFO L290 TraceCheckUtils]: 2: Hoare triple {2162#true} [173] 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[] {2162#true} is VALID [2022-02-20 20:58:08,033 INFO L290 TraceCheckUtils]: 3: Hoare triple {2162#true} [175] L-1-2-->L21: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {2162#true} is VALID [2022-02-20 20:58:08,033 INFO L290 TraceCheckUtils]: 4: Hoare triple {2162#true} [133] L21-->L21-1: Formula: (and (= (select |v_#valid_2| 1) 1) (= 2 (select |v_#length_1| 1))) InVars {#length=|v_#length_1|, #valid=|v_#valid_2|} OutVars{#length=|v_#length_1|, #valid=|v_#valid_2|} AuxVars[] AssignedVars[] {2162#true} is VALID [2022-02-20 20:58:08,033 INFO L290 TraceCheckUtils]: 5: Hoare triple {2162#true} [163] L21-1-->L21-2: Formula: (= 48 (select (select |v_#memory_int_1| 1) 0)) InVars {#memory_int=|v_#memory_int_1|} OutVars{#memory_int=|v_#memory_int_1|} AuxVars[] AssignedVars[] {2162#true} is VALID [2022-02-20 20:58:08,033 INFO L290 TraceCheckUtils]: 6: Hoare triple {2162#true} [161] L21-2-->L21-3: Formula: (= (select (select |v_#memory_int_2| 1) 1) 0) InVars {#memory_int=|v_#memory_int_2|} OutVars{#memory_int=|v_#memory_int_2|} AuxVars[] AssignedVars[] {2162#true} is VALID [2022-02-20 20:58:08,034 INFO L290 TraceCheckUtils]: 7: Hoare triple {2162#true} [125] L21-3-->L21-4: Formula: (and (= (select |v_#valid_3| 2) 1) (= (select |v_#length_2| 2) 17)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {2162#true} is VALID [2022-02-20 20:58:08,034 INFO L290 TraceCheckUtils]: 8: Hoare triple {2162#true} [181] L21-4-->L38: Formula: (= v_~x1~0_5 0) InVars {} OutVars{~x1~0=v_~x1~0_5} AuxVars[] AssignedVars[~x1~0] {2162#true} is VALID [2022-02-20 20:58:08,034 INFO L290 TraceCheckUtils]: 9: Hoare triple {2162#true} [182] L38-->L-1-3: Formula: (= v_~x2~0_5 0) InVars {} OutVars{~x2~0=v_~x2~0_5} AuxVars[] AssignedVars[~x2~0] {2162#true} is VALID [2022-02-20 20:58:08,034 INFO L290 TraceCheckUtils]: 10: Hoare triple {2162#true} [179] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2162#true} is VALID [2022-02-20 20:58:08,034 INFO L290 TraceCheckUtils]: 11: Hoare triple {2162#true} [157] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2162#true} is VALID [2022-02-20 20:58:08,034 INFO L290 TraceCheckUtils]: 12: Hoare triple {2162#true} [123] L-1-5-->L-1-6: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {2162#true} is VALID [2022-02-20 20:58:08,034 INFO L290 TraceCheckUtils]: 13: Hoare triple {2162#true} [155] L-1-6-->L57: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_1|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_1|, ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_1|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_1|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_1|, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_1|, ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_#t~nondet8#1=|v_ULTIMATE.start_main_#t~nondet8#1_1|, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_1|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_1|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1, ULTIMATE.start_main_#t~nondet4#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t2~0#1.offset, ULTIMATE.start_main_#t~nondet8#1, ULTIMATE.start_main_#t~nondet6#1, ULTIMATE.start_main_#t~mem9#1, ULTIMATE.start_main_#t~pre7#1, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset, ULTIMATE.start_main_#t~mem10#1, ULTIMATE.start_main_~#t2~0#1.base] {2162#true} is VALID [2022-02-20 20:58:08,035 INFO L290 TraceCheckUtils]: 14: Hoare triple {2162#true} [184] L57-->L57-1: Formula: (and (= |v_ULTIMATE.start_main_~#t1~0#1.offset_2| 0) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) 0) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 4)) (not (= |v_ULTIMATE.start_main_~#t1~0#1.base_2| 0)) (= (store |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 1) |v_#valid_4|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_2|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[#valid, #length, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset] {2162#true} is VALID [2022-02-20 20:58:08,035 INFO L290 TraceCheckUtils]: 15: Hoare triple {2162#true} [121] L57-1-->L57-2: Formula: (and (= |v_#length_5| (store |v_#length_6| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 4)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2|) 0) (= (store |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 1) |v_#valid_6|) (not (= |v_ULTIMATE.start_main_~#t2~0#1.base_2| 0)) (= 0 |v_ULTIMATE.start_main_~#t2~0#1.offset_2|) (< |v_#StackHeapBarrier_3| |v_ULTIMATE.start_main_~#t2~0#1.base_2|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_7|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_5|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_2|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t2~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t2~0#1.base] {2162#true} is VALID [2022-02-20 20:58:08,035 INFO L290 TraceCheckUtils]: 16: Hoare triple {2162#true} [172] L57-2-->L59: Formula: (and (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet3#1_2| 2147483648)) (<= |v_ULTIMATE.start_main_#t~nondet3#1_2| 2147483647)) InVars {ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[] {2162#true} is VALID [2022-02-20 20:58:08,035 INFO L290 TraceCheckUtils]: 17: Hoare triple {2162#true} [140] L59-->L59-1: Formula: (= v_~x1~0_6 |v_ULTIMATE.start_main_#t~nondet3#1_3|) InVars {ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_3|} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_3|, ~x1~0=v_~x1~0_6} AuxVars[] AssignedVars[~x1~0] {2162#true} is VALID [2022-02-20 20:58:08,035 INFO L290 TraceCheckUtils]: 18: Hoare triple {2162#true} [115] L59-1-->L60: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] {2162#true} is VALID [2022-02-20 20:58:08,035 INFO L290 TraceCheckUtils]: 19: Hoare triple {2162#true} [178] L60-->L60-1: Formula: (and (<= |v_ULTIMATE.start_main_#t~nondet4#1_2| 2147483647) (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet4#1_2| 2147483648))) InVars {ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_2|} OutVars{ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_2|} AuxVars[] AssignedVars[] {2162#true} is VALID [2022-02-20 20:58:08,035 INFO L290 TraceCheckUtils]: 20: Hoare triple {2162#true} [143] L60-1-->L60-2: Formula: (= v_~x2~0_6 |v_ULTIMATE.start_main_#t~nondet4#1_3|) InVars {ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_3|} OutVars{~x2~0=v_~x2~0_6, ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_3|} AuxVars[] AssignedVars[~x2~0] {2162#true} is VALID [2022-02-20 20:58:08,036 INFO L290 TraceCheckUtils]: 21: Hoare triple {2162#true} [129] L60-2-->L61: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet4#1] {2162#true} is VALID [2022-02-20 20:58:08,036 INFO L290 TraceCheckUtils]: 22: Hoare triple {2162#true} [109] L61-->L61-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2162#true} is VALID [2022-02-20 20:58:08,037 INFO L290 TraceCheckUtils]: 23: Hoare triple {2162#true} [154] L61-1-->L61-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1| (ite (and (<= 0 v_~x1~0_7) (= v_~x1~0_7 v_~x2~0_7)) 1 0)) InVars {~x2~0=v_~x2~0_7, ~x1~0=v_~x1~0_7} OutVars{~x2~0=v_~x2~0_7, ~x1~0=v_~x1~0_7, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] {2164#(or (and (<= 0 ~x1~0) (= ~x2~0 ~x1~0)) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0))} is VALID [2022-02-20 20:58:08,037 INFO L290 TraceCheckUtils]: 24: Hoare triple {2164#(or (and (<= 0 ~x1~0) (= ~x2~0 ~x1~0)) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0))} [162] L61-2-->L34: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {2164#(or (and (<= 0 ~x1~0) (= ~x2~0 ~x1~0)) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0))} is VALID [2022-02-20 20:58:08,038 INFO L290 TraceCheckUtils]: 25: Hoare triple {2164#(or (and (<= 0 ~x1~0) (= ~x2~0 ~x1~0)) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0))} [132] L34-->L35: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_2|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_2|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {2165#(or (and (<= 0 ~x1~0) (= ~x2~0 ~x1~0)) (= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0))} is VALID [2022-02-20 20:58:08,038 INFO L290 TraceCheckUtils]: 26: Hoare triple {2165#(or (and (<= 0 ~x1~0) (= ~x2~0 ~x1~0)) (= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0))} [165] L35-->L34-1: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_4| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_4|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_4|} AuxVars[] AssignedVars[] {2166#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:08,038 INFO L290 TraceCheckUtils]: 27: Hoare triple {2166#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [158] L34-1-->L64: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2166#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:08,039 INFO L290 TraceCheckUtils]: 28: Hoare triple {2166#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [128] L64-->L64-1: Formula: (= |v_ULTIMATE.start_main_#t~pre5#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_2|, #pthreadsForks=|v_#pthreadsForks_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1] {2166#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:08,039 INFO L290 TraceCheckUtils]: 29: Hoare triple {2166#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [174] L64-1-->L64-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {2166#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:08,039 INFO L290 TraceCheckUtils]: 30: Hoare triple {2166#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [187] L64-2-->L64-3: Formula: (= (store |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3| (store (select |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3|) |v_ULTIMATE.start_main_~#t1~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre5#1_3|)) |v_#memory_int_3|) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_3|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_3|, #memory_int=|v_#memory_int_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} AuxVars[] AssignedVars[#memory_int] {2166#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:08,040 INFO L290 TraceCheckUtils]: 31: Hoare triple {2166#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [207] L64-3-->L41-1: Formula: (and (= v_thread1Thread1of1ForFork0_thidvar1_2 0) (= |v_ULTIMATE.start_main_#t~pre5#1_6| v_thread1Thread1of1ForFork0_thidvar0_2)) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_6|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_6|, thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_4|, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_8|, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_2, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_4|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_2} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#t~post1, thread1Thread1of1ForFork0_thidvar0, thread1Thread1of1ForFork0_#res.offset, thread1Thread1of1ForFork0_thidvar1] {2166#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:08,040 INFO L290 TraceCheckUtils]: 32: Hoare triple {2166#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [146] L64-4-->L64-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1] {2166#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:08,040 INFO L290 TraceCheckUtils]: 33: Hoare triple {2166#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [142] L64-5-->L65: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet6#1] {2166#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:08,041 INFO L290 TraceCheckUtils]: 34: Hoare triple {2166#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [188] L65-->L65-1: Formula: (= |v_ULTIMATE.start_main_#t~pre7#1_2| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{#pthreadsForks=|v_#pthreadsForks_4|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre7#1] {2166#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:08,041 INFO L290 TraceCheckUtils]: 35: Hoare triple {2166#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [169] L65-1-->L65-2: Formula: (= (+ 1 |v_#pthreadsForks_6|) |v_#pthreadsForks_5|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_5|} AuxVars[] AssignedVars[#pthreadsForks] {2166#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:08,041 INFO L290 TraceCheckUtils]: 36: Hoare triple {2166#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [144] L65-2-->L65-3: Formula: (= (store |v_#memory_int_6| |v_ULTIMATE.start_main_~#t2~0#1.base_3| (store (select |v_#memory_int_6| |v_ULTIMATE.start_main_~#t2~0#1.base_3|) |v_ULTIMATE.start_main_~#t2~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre7#1_3|)) |v_#memory_int_5|) InVars {#memory_int=|v_#memory_int_6|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_3|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} OutVars{#memory_int=|v_#memory_int_5|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_3|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} AuxVars[] AssignedVars[#memory_int] {2166#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:08,042 INFO L290 TraceCheckUtils]: 37: Hoare triple {2166#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [209] L65-3-->L49-1: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar1_2) (= |v_ULTIMATE.start_main_#t~pre7#1_6| v_thread2Thread1of1ForFork1_thidvar0_2) (= 0 v_thread2Thread1of1ForFork1_thidvar2_2)) InVars {ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_6|} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_4|, thread2Thread1of1ForFork1_#t~post2=|v_thread2Thread1of1ForFork1_#t~post2_8|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_4|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_6|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_2, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_2, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_2} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, thread2Thread1of1ForFork1_#t~post2, thread2Thread1of1ForFork1_#res.base, thread2Thread1of1ForFork1_thidvar2, thread2Thread1of1ForFork1_thidvar0, thread2Thread1of1ForFork1_thidvar1] {2166#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:08,043 INFO L290 TraceCheckUtils]: 38: Hoare triple {2166#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [200] L49-1-->L50: Formula: (< v_~x2~0_2 10000) InVars {~x2~0=v_~x2~0_2} OutVars{~x2~0=v_~x2~0_2} AuxVars[] AssignedVars[] {2167#(and (<= ~x1~0 9999) (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:08,043 INFO L290 TraceCheckUtils]: 39: Hoare triple {2167#(and (<= ~x1~0 9999) (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [202] L50-->L50-1: Formula: (= v_~x2~0_3 |v_thread2Thread1of1ForFork1_#t~post2_1|) InVars {~x2~0=v_~x2~0_3} OutVars{~x2~0=v_~x2~0_3, thread2Thread1of1ForFork1_#t~post2=|v_thread2Thread1of1ForFork1_#t~post2_1|} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#t~post2] {2168#(<= ~x1~0 9999)} is VALID [2022-02-20 20:58:08,043 INFO L290 TraceCheckUtils]: 40: Hoare triple {2168#(<= ~x1~0 9999)} [191] L41-1-->L41-2: Formula: (not (< v_~x1~0_1 10000)) InVars {~x1~0=v_~x1~0_1} OutVars{~x1~0=v_~x1~0_1} AuxVars[] AssignedVars[] {2163#false} is VALID [2022-02-20 20:58:08,043 INFO L290 TraceCheckUtils]: 41: Hoare triple {2163#false} [193] L41-2-->thread1FINAL: Formula: (and (= |v_thread1Thread1of1ForFork0_#res.base_1| 0) (= |v_thread1Thread1of1ForFork0_#res.offset_1| 0)) InVars {} OutVars{thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_1|, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#res.offset] {2163#false} is VALID [2022-02-20 20:58:08,044 INFO L290 TraceCheckUtils]: 42: Hoare triple {2163#false} [195] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2163#false} is VALID [2022-02-20 20:58:08,044 INFO L290 TraceCheckUtils]: 43: Hoare triple {2163#false} [126] L65-4-->L65-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre7#1] {2163#false} is VALID [2022-02-20 20:58:08,044 INFO L290 TraceCheckUtils]: 44: Hoare triple {2163#false} [130] L65-5-->L66: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet8#1=|v_ULTIMATE.start_main_#t~nondet8#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet8#1] {2163#false} is VALID [2022-02-20 20:58:08,044 INFO L290 TraceCheckUtils]: 45: Hoare triple {2163#false} [138] L66-->L66-1: Formula: (= |v_ULTIMATE.start_main_#t~mem9#1_2| (select (select |v_#memory_int_7| |v_ULTIMATE.start_main_~#t1~0#1.base_4|) |v_ULTIMATE.start_main_~#t1~0#1.offset_4|)) InVars {#memory_int=|v_#memory_int_7|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_4|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_4|} OutVars{#memory_int=|v_#memory_int_7|, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_2|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_4|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem9#1] {2163#false} is VALID [2022-02-20 20:58:08,044 INFO L290 TraceCheckUtils]: 46: Hoare triple {2163#false} [210] thread1EXIT-->L66-2: Formula: (and (= v_thread1Thread1of1ForFork0_thidvar1_4 0) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem9#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ (- 4294967296) .cse0))) v_thread1Thread1of1ForFork0_thidvar0_4)) InVars {thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_5|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4} OutVars{thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_5|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4} AuxVars[] AssignedVars[] {2163#false} is VALID [2022-02-20 20:58:08,044 INFO L290 TraceCheckUtils]: 47: Hoare triple {2163#false} [151] L66-2-->L67: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem9#1] {2163#false} is VALID [2022-02-20 20:58:08,044 INFO L290 TraceCheckUtils]: 48: Hoare triple {2163#false} [166] L67-->L67-1: Formula: (= (select (select |v_#memory_int_8| |v_ULTIMATE.start_main_~#t2~0#1.base_4|) |v_ULTIMATE.start_main_~#t2~0#1.offset_4|) |v_ULTIMATE.start_main_#t~mem10#1_2|) InVars {#memory_int=|v_#memory_int_8|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_4|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} OutVars{#memory_int=|v_#memory_int_8|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_4|, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10#1] {2163#false} is VALID [2022-02-20 20:58:08,045 INFO L290 TraceCheckUtils]: 49: Hoare triple {2163#false} [204] L50-1-->L50-2: Formula: (= v_~x2~0_4 (+ |v_thread2Thread1of1ForFork1_#t~post2_3| 1)) InVars {thread2Thread1of1ForFork1_#t~post2=|v_thread2Thread1of1ForFork1_#t~post2_3|} OutVars{~x2~0=v_~x2~0_4, thread2Thread1of1ForFork1_#t~post2=|v_thread2Thread1of1ForFork1_#t~post2_3|} AuxVars[] AssignedVars[~x2~0] {2163#false} is VALID [2022-02-20 20:58:08,045 INFO L290 TraceCheckUtils]: 50: Hoare triple {2163#false} [205] L50-2-->L49-1: Formula: true InVars {} OutVars{thread2Thread1of1ForFork1_#t~post2=|v_thread2Thread1of1ForFork1_#t~post2_5|} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#t~post2] {2163#false} is VALID [2022-02-20 20:58:08,045 INFO L290 TraceCheckUtils]: 51: Hoare triple {2163#false} [199] L49-1-->L49-2: Formula: (not (< v_~x2~0_1 10000)) InVars {~x2~0=v_~x2~0_1} OutVars{~x2~0=v_~x2~0_1} AuxVars[] AssignedVars[] {2163#false} is VALID [2022-02-20 20:58:08,045 INFO L290 TraceCheckUtils]: 52: Hoare triple {2163#false} [201] L49-2-->thread2FINAL: Formula: (and (= |v_thread2Thread1of1ForFork1_#res.base_1| 0) (= |v_thread2Thread1of1ForFork1_#res.offset_1| 0)) InVars {} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_1|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_1|} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, thread2Thread1of1ForFork1_#res.base] {2163#false} is VALID [2022-02-20 20:58:08,045 INFO L290 TraceCheckUtils]: 53: Hoare triple {2163#false} [203] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2163#false} is VALID [2022-02-20 20:58:08,045 INFO L290 TraceCheckUtils]: 54: Hoare triple {2163#false} [211] thread2EXIT-->L67-2: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar2_4) (= 0 v_thread2Thread1of1ForFork1_thidvar1_4) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem10#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ .cse0 (- 4294967296)))) v_thread2Thread1of1ForFork1_thidvar0_4)) InVars {thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} OutVars{thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} AuxVars[] AssignedVars[] {2163#false} is VALID [2022-02-20 20:58:08,045 INFO L290 TraceCheckUtils]: 55: Hoare triple {2163#false} [120] L67-2-->L69: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10#1] {2163#false} is VALID [2022-02-20 20:58:08,045 INFO L290 TraceCheckUtils]: 56: Hoare triple {2163#false} [122] L69-->L69-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2163#false} is VALID [2022-02-20 20:58:08,045 INFO L290 TraceCheckUtils]: 57: Hoare triple {2163#false} [177] L69-1-->L69-2: Formula: (= (ite (not (= v_~x1~0_8 v_~x2~0_8)) 1 0) |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3|) InVars {~x2~0=v_~x2~0_8, ~x1~0=v_~x1~0_8} OutVars{~x2~0=v_~x2~0_8, ~x1~0=v_~x1~0_8, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] {2163#false} is VALID [2022-02-20 20:58:08,046 INFO L290 TraceCheckUtils]: 58: Hoare triple {2163#false} [139] L69-2-->L34-2: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_5|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {2163#false} is VALID [2022-02-20 20:58:08,046 INFO L290 TraceCheckUtils]: 59: Hoare triple {2163#false} [147] L34-2-->L35-3: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_6|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_6|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {2163#false} is VALID [2022-02-20 20:58:08,046 INFO L290 TraceCheckUtils]: 60: Hoare triple {2163#false} [114] L35-3-->L34-3: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_8| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_8|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_8|} AuxVars[] AssignedVars[] {2163#false} is VALID [2022-02-20 20:58:08,046 INFO L290 TraceCheckUtils]: 61: Hoare triple {2163#false} [124] L34-3-->L70: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2163#false} is VALID [2022-02-20 20:58:08,046 INFO L290 TraceCheckUtils]: 62: Hoare triple {2163#false} [185] L70-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2163#false} is VALID [2022-02-20 20:58:08,046 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 20:58:08,046 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 20:58:08,047 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [615421533] [2022-02-20 20:58:08,047 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [615421533] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 20:58:08,047 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 20:58:08,047 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-02-20 20:58:08,047 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1443537124] [2022-02-20 20:58:08,047 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 20:58:08,047 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 9.0) internal successors, (63), 7 states have internal predecessors, (63), 0 states have call successors, (0), 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 63 [2022-02-20 20:58:08,048 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 20:58:08,048 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 9.0) internal successors, (63), 7 states have internal predecessors, (63), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:58:08,113 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 20:58:08,114 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-20 20:58:08,114 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 20:58:08,114 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-20 20:58:08,114 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=25, Unknown=0, NotChecked=0, Total=42 [2022-02-20 20:58:08,115 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 53 out of 84 [2022-02-20 20:58:08,115 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 88 places, 80 transitions, 317 flow. Second operand has 7 states, 7 states have (on average 56.0) internal successors, (392), 7 states have internal predecessors, (392), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:58:08,116 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 20:58:08,116 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 53 of 84 [2022-02-20 20:58:08,116 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 20:58:08,323 INFO L129 PetriNetUnfolder]: 60/242 cut-off events. [2022-02-20 20:58:08,323 INFO L130 PetriNetUnfolder]: For 480/490 co-relation queries the response was YES. [2022-02-20 20:58:08,324 INFO L84 FinitePrefix]: Finished finitePrefix Result has 656 conditions, 242 events. 60/242 cut-off events. For 480/490 co-relation queries the response was YES. Maximal size of possible extension queue 21. Compared 967 event pairs, 10 based on Foata normal form. 8/244 useless extension candidates. Maximal degree in co-relation 644. Up to 58 conditions per place. [2022-02-20 20:58:08,325 INFO L132 encePairwiseOnDemand]: 74/84 looper letters, 48 selfloop transitions, 12 changer transitions 2/105 dead transitions. [2022-02-20 20:58:08,325 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 94 places, 105 transitions, 561 flow [2022-02-20 20:58:08,325 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 20:58:08,325 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2022-02-20 20:58:08,328 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 424 transitions. [2022-02-20 20:58:08,328 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.7210884353741497 [2022-02-20 20:58:08,329 INFO L72 ComplementDD]: Start complementDD. Operand 7 states and 424 transitions. [2022-02-20 20:58:08,329 INFO L73 IsDeterministic]: Start isDeterministic. Operand 7 states and 424 transitions. [2022-02-20 20:58:08,329 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 20:58:08,329 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 7 states and 424 transitions. [2022-02-20 20:58:08,330 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 8 states, 7 states have (on average 60.57142857142857) internal successors, (424), 7 states have internal predecessors, (424), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:58:08,331 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 8 states, 8 states have (on average 84.0) internal successors, (672), 8 states have internal predecessors, (672), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:58:08,331 INFO L81 ComplementDD]: Finished complementDD. Result has 8 states, 8 states have (on average 84.0) internal successors, (672), 8 states have internal predecessors, (672), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:58:08,331 INFO L186 Difference]: Start difference. First operand has 88 places, 80 transitions, 317 flow. Second operand 7 states and 424 transitions. [2022-02-20 20:58:08,331 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 94 places, 105 transitions, 561 flow [2022-02-20 20:58:09,020 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 92 places, 105 transitions, 553 flow, removed 2 selfloop flow, removed 2 redundant places. [2022-02-20 20:58:09,021 INFO L242 Difference]: Finished difference. Result has 95 places, 81 transitions, 362 flow [2022-02-20 20:58:09,021 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=84, PETRI_DIFFERENCE_MINUEND_FLOW=309, PETRI_DIFFERENCE_MINUEND_PLACES=86, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=80, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=11, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=68, PETRI_DIFFERENCE_SUBTRAHEND_STATES=7, PETRI_FLOW=362, PETRI_PLACES=95, PETRI_TRANSITIONS=81} [2022-02-20 20:58:09,022 INFO L334 CegarLoopForPetriNet]: 74 programPoint places, 21 predicate places. [2022-02-20 20:58:09,022 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 95 places, 81 transitions, 362 flow [2022-02-20 20:58:09,045 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 698 states, 695 states have (on average 2.371223021582734) internal successors, (1648), 697 states have internal predecessors, (1648), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:58:09,046 INFO L78 Accepts]: Start accepts. Automaton has has 698 states, 695 states have (on average 2.371223021582734) internal successors, (1648), 697 states have internal predecessors, (1648), 0 states have call successors, (0), 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 63 [2022-02-20 20:58:09,046 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 20:58:09,047 INFO L470 AbstractCegarLoop]: Abstraction has has 95 places, 81 transitions, 362 flow [2022-02-20 20:58:09,047 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 56.0) internal successors, (392), 7 states have internal predecessors, (392), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:58:09,047 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 20:58:09,047 INFO L254 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 20:58:09,047 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2022-02-20 20:58:09,047 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION] === [2022-02-20 20:58:09,048 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 20:58:09,048 INFO L85 PathProgramCache]: Analyzing trace with hash -1905192043, now seen corresponding path program 2 times [2022-02-20 20:58:09,048 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 20:58:09,048 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [671803527] [2022-02-20 20:58:09,048 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:58:09,049 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 20:58:09,082 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:58:09,164 INFO L290 TraceCheckUtils]: 0: Hoare triple {2874#true} [167] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2874#true} is VALID [2022-02-20 20:58:09,164 INFO L290 TraceCheckUtils]: 1: Hoare triple {2874#true} [145] 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] {2874#true} is VALID [2022-02-20 20:58:09,164 INFO L290 TraceCheckUtils]: 2: Hoare triple {2874#true} [173] 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[] {2874#true} is VALID [2022-02-20 20:58:09,164 INFO L290 TraceCheckUtils]: 3: Hoare triple {2874#true} [175] L-1-2-->L21: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {2874#true} is VALID [2022-02-20 20:58:09,164 INFO L290 TraceCheckUtils]: 4: Hoare triple {2874#true} [133] L21-->L21-1: Formula: (and (= (select |v_#valid_2| 1) 1) (= 2 (select |v_#length_1| 1))) InVars {#length=|v_#length_1|, #valid=|v_#valid_2|} OutVars{#length=|v_#length_1|, #valid=|v_#valid_2|} AuxVars[] AssignedVars[] {2874#true} is VALID [2022-02-20 20:58:09,164 INFO L290 TraceCheckUtils]: 5: Hoare triple {2874#true} [163] L21-1-->L21-2: Formula: (= 48 (select (select |v_#memory_int_1| 1) 0)) InVars {#memory_int=|v_#memory_int_1|} OutVars{#memory_int=|v_#memory_int_1|} AuxVars[] AssignedVars[] {2874#true} is VALID [2022-02-20 20:58:09,164 INFO L290 TraceCheckUtils]: 6: Hoare triple {2874#true} [161] L21-2-->L21-3: Formula: (= (select (select |v_#memory_int_2| 1) 1) 0) InVars {#memory_int=|v_#memory_int_2|} OutVars{#memory_int=|v_#memory_int_2|} AuxVars[] AssignedVars[] {2874#true} is VALID [2022-02-20 20:58:09,165 INFO L290 TraceCheckUtils]: 7: Hoare triple {2874#true} [125] L21-3-->L21-4: Formula: (and (= (select |v_#valid_3| 2) 1) (= (select |v_#length_2| 2) 17)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {2874#true} is VALID [2022-02-20 20:58:09,165 INFO L290 TraceCheckUtils]: 8: Hoare triple {2874#true} [181] L21-4-->L38: Formula: (= v_~x1~0_5 0) InVars {} OutVars{~x1~0=v_~x1~0_5} AuxVars[] AssignedVars[~x1~0] {2874#true} is VALID [2022-02-20 20:58:09,165 INFO L290 TraceCheckUtils]: 9: Hoare triple {2874#true} [182] L38-->L-1-3: Formula: (= v_~x2~0_5 0) InVars {} OutVars{~x2~0=v_~x2~0_5} AuxVars[] AssignedVars[~x2~0] {2874#true} is VALID [2022-02-20 20:58:09,165 INFO L290 TraceCheckUtils]: 10: Hoare triple {2874#true} [179] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2874#true} is VALID [2022-02-20 20:58:09,165 INFO L290 TraceCheckUtils]: 11: Hoare triple {2874#true} [157] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2874#true} is VALID [2022-02-20 20:58:09,165 INFO L290 TraceCheckUtils]: 12: Hoare triple {2874#true} [123] L-1-5-->L-1-6: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {2874#true} is VALID [2022-02-20 20:58:09,165 INFO L290 TraceCheckUtils]: 13: Hoare triple {2874#true} [155] L-1-6-->L57: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_1|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_1|, ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_1|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_1|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_1|, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_1|, ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_#t~nondet8#1=|v_ULTIMATE.start_main_#t~nondet8#1_1|, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_1|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_1|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1, ULTIMATE.start_main_#t~nondet4#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t2~0#1.offset, ULTIMATE.start_main_#t~nondet8#1, ULTIMATE.start_main_#t~nondet6#1, ULTIMATE.start_main_#t~mem9#1, ULTIMATE.start_main_#t~pre7#1, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset, ULTIMATE.start_main_#t~mem10#1, ULTIMATE.start_main_~#t2~0#1.base] {2874#true} is VALID [2022-02-20 20:58:09,165 INFO L290 TraceCheckUtils]: 14: Hoare triple {2874#true} [184] L57-->L57-1: Formula: (and (= |v_ULTIMATE.start_main_~#t1~0#1.offset_2| 0) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) 0) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 4)) (not (= |v_ULTIMATE.start_main_~#t1~0#1.base_2| 0)) (= (store |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 1) |v_#valid_4|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_2|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[#valid, #length, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset] {2874#true} is VALID [2022-02-20 20:58:09,166 INFO L290 TraceCheckUtils]: 15: Hoare triple {2874#true} [121] L57-1-->L57-2: Formula: (and (= |v_#length_5| (store |v_#length_6| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 4)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2|) 0) (= (store |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 1) |v_#valid_6|) (not (= |v_ULTIMATE.start_main_~#t2~0#1.base_2| 0)) (= 0 |v_ULTIMATE.start_main_~#t2~0#1.offset_2|) (< |v_#StackHeapBarrier_3| |v_ULTIMATE.start_main_~#t2~0#1.base_2|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_7|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_5|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_2|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t2~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t2~0#1.base] {2874#true} is VALID [2022-02-20 20:58:09,166 INFO L290 TraceCheckUtils]: 16: Hoare triple {2874#true} [172] L57-2-->L59: Formula: (and (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet3#1_2| 2147483648)) (<= |v_ULTIMATE.start_main_#t~nondet3#1_2| 2147483647)) InVars {ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[] {2874#true} is VALID [2022-02-20 20:58:09,166 INFO L290 TraceCheckUtils]: 17: Hoare triple {2874#true} [140] L59-->L59-1: Formula: (= v_~x1~0_6 |v_ULTIMATE.start_main_#t~nondet3#1_3|) InVars {ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_3|} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_3|, ~x1~0=v_~x1~0_6} AuxVars[] AssignedVars[~x1~0] {2874#true} is VALID [2022-02-20 20:58:09,166 INFO L290 TraceCheckUtils]: 18: Hoare triple {2874#true} [115] L59-1-->L60: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] {2874#true} is VALID [2022-02-20 20:58:09,166 INFO L290 TraceCheckUtils]: 19: Hoare triple {2874#true} [178] L60-->L60-1: Formula: (and (<= |v_ULTIMATE.start_main_#t~nondet4#1_2| 2147483647) (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet4#1_2| 2147483648))) InVars {ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_2|} OutVars{ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_2|} AuxVars[] AssignedVars[] {2874#true} is VALID [2022-02-20 20:58:09,166 INFO L290 TraceCheckUtils]: 20: Hoare triple {2874#true} [143] L60-1-->L60-2: Formula: (= v_~x2~0_6 |v_ULTIMATE.start_main_#t~nondet4#1_3|) InVars {ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_3|} OutVars{~x2~0=v_~x2~0_6, ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_3|} AuxVars[] AssignedVars[~x2~0] {2874#true} is VALID [2022-02-20 20:58:09,166 INFO L290 TraceCheckUtils]: 21: Hoare triple {2874#true} [129] L60-2-->L61: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet4#1] {2874#true} is VALID [2022-02-20 20:58:09,167 INFO L290 TraceCheckUtils]: 22: Hoare triple {2874#true} [109] L61-->L61-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2874#true} is VALID [2022-02-20 20:58:09,167 INFO L290 TraceCheckUtils]: 23: Hoare triple {2874#true} [154] L61-1-->L61-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1| (ite (and (<= 0 v_~x1~0_7) (= v_~x1~0_7 v_~x2~0_7)) 1 0)) InVars {~x2~0=v_~x2~0_7, ~x1~0=v_~x1~0_7} OutVars{~x2~0=v_~x2~0_7, ~x1~0=v_~x1~0_7, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] {2876#(or (and (<= 0 ~x1~0) (= ~x2~0 ~x1~0)) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0))} is VALID [2022-02-20 20:58:09,167 INFO L290 TraceCheckUtils]: 24: Hoare triple {2876#(or (and (<= 0 ~x1~0) (= ~x2~0 ~x1~0)) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0))} [162] L61-2-->L34: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {2876#(or (and (<= 0 ~x1~0) (= ~x2~0 ~x1~0)) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0))} is VALID [2022-02-20 20:58:09,168 INFO L290 TraceCheckUtils]: 25: Hoare triple {2876#(or (and (<= 0 ~x1~0) (= ~x2~0 ~x1~0)) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0))} [132] L34-->L35: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_2|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_2|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {2877#(or (and (<= 0 ~x1~0) (= ~x2~0 ~x1~0)) (= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0))} is VALID [2022-02-20 20:58:09,168 INFO L290 TraceCheckUtils]: 26: Hoare triple {2877#(or (and (<= 0 ~x1~0) (= ~x2~0 ~x1~0)) (= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0))} [165] L35-->L34-1: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_4| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_4|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_4|} AuxVars[] AssignedVars[] {2878#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:09,169 INFO L290 TraceCheckUtils]: 27: Hoare triple {2878#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [158] L34-1-->L64: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2878#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:09,169 INFO L290 TraceCheckUtils]: 28: Hoare triple {2878#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [128] L64-->L64-1: Formula: (= |v_ULTIMATE.start_main_#t~pre5#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_2|, #pthreadsForks=|v_#pthreadsForks_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1] {2878#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:09,169 INFO L290 TraceCheckUtils]: 29: Hoare triple {2878#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [174] L64-1-->L64-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {2878#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:09,170 INFO L290 TraceCheckUtils]: 30: Hoare triple {2878#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [187] L64-2-->L64-3: Formula: (= (store |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3| (store (select |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3|) |v_ULTIMATE.start_main_~#t1~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre5#1_3|)) |v_#memory_int_3|) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_3|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_3|, #memory_int=|v_#memory_int_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} AuxVars[] AssignedVars[#memory_int] {2878#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:09,170 INFO L290 TraceCheckUtils]: 31: Hoare triple {2878#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [207] L64-3-->L41-1: Formula: (and (= v_thread1Thread1of1ForFork0_thidvar1_2 0) (= |v_ULTIMATE.start_main_#t~pre5#1_6| v_thread1Thread1of1ForFork0_thidvar0_2)) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_6|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_6|, thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_4|, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_8|, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_2, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_4|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_2} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#t~post1, thread1Thread1of1ForFork0_thidvar0, thread1Thread1of1ForFork0_#res.offset, thread1Thread1of1ForFork0_thidvar1] {2878#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:09,170 INFO L290 TraceCheckUtils]: 32: Hoare triple {2878#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [146] L64-4-->L64-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1] {2878#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:09,171 INFO L290 TraceCheckUtils]: 33: Hoare triple {2878#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [142] L64-5-->L65: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet6#1] {2878#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:09,173 INFO L290 TraceCheckUtils]: 34: Hoare triple {2878#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [188] L65-->L65-1: Formula: (= |v_ULTIMATE.start_main_#t~pre7#1_2| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{#pthreadsForks=|v_#pthreadsForks_4|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre7#1] {2878#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:09,173 INFO L290 TraceCheckUtils]: 35: Hoare triple {2878#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [169] L65-1-->L65-2: Formula: (= (+ 1 |v_#pthreadsForks_6|) |v_#pthreadsForks_5|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_5|} AuxVars[] AssignedVars[#pthreadsForks] {2878#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:09,173 INFO L290 TraceCheckUtils]: 36: Hoare triple {2878#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [144] L65-2-->L65-3: Formula: (= (store |v_#memory_int_6| |v_ULTIMATE.start_main_~#t2~0#1.base_3| (store (select |v_#memory_int_6| |v_ULTIMATE.start_main_~#t2~0#1.base_3|) |v_ULTIMATE.start_main_~#t2~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre7#1_3|)) |v_#memory_int_5|) InVars {#memory_int=|v_#memory_int_6|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_3|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} OutVars{#memory_int=|v_#memory_int_5|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_3|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} AuxVars[] AssignedVars[#memory_int] {2878#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:09,174 INFO L290 TraceCheckUtils]: 37: Hoare triple {2878#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [209] L65-3-->L49-1: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar1_2) (= |v_ULTIMATE.start_main_#t~pre7#1_6| v_thread2Thread1of1ForFork1_thidvar0_2) (= 0 v_thread2Thread1of1ForFork1_thidvar2_2)) InVars {ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_6|} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_4|, thread2Thread1of1ForFork1_#t~post2=|v_thread2Thread1of1ForFork1_#t~post2_8|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_4|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_6|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_2, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_2, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_2} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, thread2Thread1of1ForFork1_#t~post2, thread2Thread1of1ForFork1_#res.base, thread2Thread1of1ForFork1_thidvar2, thread2Thread1of1ForFork1_thidvar0, thread2Thread1of1ForFork1_thidvar1] {2878#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:09,174 INFO L290 TraceCheckUtils]: 38: Hoare triple {2878#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [126] L65-4-->L65-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre7#1] {2878#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:09,174 INFO L290 TraceCheckUtils]: 39: Hoare triple {2878#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [130] L65-5-->L66: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet8#1=|v_ULTIMATE.start_main_#t~nondet8#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet8#1] {2878#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:09,175 INFO L290 TraceCheckUtils]: 40: Hoare triple {2878#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [138] L66-->L66-1: Formula: (= |v_ULTIMATE.start_main_#t~mem9#1_2| (select (select |v_#memory_int_7| |v_ULTIMATE.start_main_~#t1~0#1.base_4|) |v_ULTIMATE.start_main_~#t1~0#1.offset_4|)) InVars {#memory_int=|v_#memory_int_7|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_4|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_4|} OutVars{#memory_int=|v_#memory_int_7|, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_2|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_4|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem9#1] {2878#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:09,175 INFO L290 TraceCheckUtils]: 41: Hoare triple {2878#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [191] L41-1-->L41-2: Formula: (not (< v_~x1~0_1 10000)) InVars {~x1~0=v_~x1~0_1} OutVars{~x1~0=v_~x1~0_1} AuxVars[] AssignedVars[] {2879#(and (= ~x2~0 ~x1~0) (<= 10000 ~x2~0))} is VALID [2022-02-20 20:58:09,176 INFO L290 TraceCheckUtils]: 42: Hoare triple {2879#(and (= ~x2~0 ~x1~0) (<= 10000 ~x2~0))} [193] L41-2-->thread1FINAL: Formula: (and (= |v_thread1Thread1of1ForFork0_#res.base_1| 0) (= |v_thread1Thread1of1ForFork0_#res.offset_1| 0)) InVars {} OutVars{thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_1|, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#res.offset] {2879#(and (= ~x2~0 ~x1~0) (<= 10000 ~x2~0))} is VALID [2022-02-20 20:58:09,176 INFO L290 TraceCheckUtils]: 43: Hoare triple {2879#(and (= ~x2~0 ~x1~0) (<= 10000 ~x2~0))} [195] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2879#(and (= ~x2~0 ~x1~0) (<= 10000 ~x2~0))} is VALID [2022-02-20 20:58:09,176 INFO L290 TraceCheckUtils]: 44: Hoare triple {2879#(and (= ~x2~0 ~x1~0) (<= 10000 ~x2~0))} [210] thread1EXIT-->L66-2: Formula: (and (= v_thread1Thread1of1ForFork0_thidvar1_4 0) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem9#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ (- 4294967296) .cse0))) v_thread1Thread1of1ForFork0_thidvar0_4)) InVars {thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_5|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4} OutVars{thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_5|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4} AuxVars[] AssignedVars[] {2879#(and (= ~x2~0 ~x1~0) (<= 10000 ~x2~0))} is VALID [2022-02-20 20:58:09,177 INFO L290 TraceCheckUtils]: 45: Hoare triple {2879#(and (= ~x2~0 ~x1~0) (<= 10000 ~x2~0))} [200] L49-1-->L50: Formula: (< v_~x2~0_2 10000) InVars {~x2~0=v_~x2~0_2} OutVars{~x2~0=v_~x2~0_2} AuxVars[] AssignedVars[] {2875#false} is VALID [2022-02-20 20:58:09,177 INFO L290 TraceCheckUtils]: 46: Hoare triple {2875#false} [202] L50-->L50-1: Formula: (= v_~x2~0_3 |v_thread2Thread1of1ForFork1_#t~post2_1|) InVars {~x2~0=v_~x2~0_3} OutVars{~x2~0=v_~x2~0_3, thread2Thread1of1ForFork1_#t~post2=|v_thread2Thread1of1ForFork1_#t~post2_1|} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#t~post2] {2875#false} is VALID [2022-02-20 20:58:09,177 INFO L290 TraceCheckUtils]: 47: Hoare triple {2875#false} [204] L50-1-->L50-2: Formula: (= v_~x2~0_4 (+ |v_thread2Thread1of1ForFork1_#t~post2_3| 1)) InVars {thread2Thread1of1ForFork1_#t~post2=|v_thread2Thread1of1ForFork1_#t~post2_3|} OutVars{~x2~0=v_~x2~0_4, thread2Thread1of1ForFork1_#t~post2=|v_thread2Thread1of1ForFork1_#t~post2_3|} AuxVars[] AssignedVars[~x2~0] {2875#false} is VALID [2022-02-20 20:58:09,177 INFO L290 TraceCheckUtils]: 48: Hoare triple {2875#false} [205] L50-2-->L49-1: Formula: true InVars {} OutVars{thread2Thread1of1ForFork1_#t~post2=|v_thread2Thread1of1ForFork1_#t~post2_5|} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#t~post2] {2875#false} is VALID [2022-02-20 20:58:09,177 INFO L290 TraceCheckUtils]: 49: Hoare triple {2875#false} [199] L49-1-->L49-2: Formula: (not (< v_~x2~0_1 10000)) InVars {~x2~0=v_~x2~0_1} OutVars{~x2~0=v_~x2~0_1} AuxVars[] AssignedVars[] {2875#false} is VALID [2022-02-20 20:58:09,177 INFO L290 TraceCheckUtils]: 50: Hoare triple {2875#false} [201] L49-2-->thread2FINAL: Formula: (and (= |v_thread2Thread1of1ForFork1_#res.base_1| 0) (= |v_thread2Thread1of1ForFork1_#res.offset_1| 0)) InVars {} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_1|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_1|} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, thread2Thread1of1ForFork1_#res.base] {2875#false} is VALID [2022-02-20 20:58:09,178 INFO L290 TraceCheckUtils]: 51: Hoare triple {2875#false} [203] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2875#false} is VALID [2022-02-20 20:58:09,178 INFO L290 TraceCheckUtils]: 52: Hoare triple {2875#false} [151] L66-2-->L67: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem9#1] {2875#false} is VALID [2022-02-20 20:58:09,178 INFO L290 TraceCheckUtils]: 53: Hoare triple {2875#false} [166] L67-->L67-1: Formula: (= (select (select |v_#memory_int_8| |v_ULTIMATE.start_main_~#t2~0#1.base_4|) |v_ULTIMATE.start_main_~#t2~0#1.offset_4|) |v_ULTIMATE.start_main_#t~mem10#1_2|) InVars {#memory_int=|v_#memory_int_8|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_4|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} OutVars{#memory_int=|v_#memory_int_8|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_4|, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10#1] {2875#false} is VALID [2022-02-20 20:58:09,178 INFO L290 TraceCheckUtils]: 54: Hoare triple {2875#false} [211] thread2EXIT-->L67-2: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar2_4) (= 0 v_thread2Thread1of1ForFork1_thidvar1_4) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem10#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ .cse0 (- 4294967296)))) v_thread2Thread1of1ForFork1_thidvar0_4)) InVars {thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} OutVars{thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} AuxVars[] AssignedVars[] {2875#false} is VALID [2022-02-20 20:58:09,178 INFO L290 TraceCheckUtils]: 55: Hoare triple {2875#false} [120] L67-2-->L69: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10#1] {2875#false} is VALID [2022-02-20 20:58:09,178 INFO L290 TraceCheckUtils]: 56: Hoare triple {2875#false} [122] L69-->L69-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2875#false} is VALID [2022-02-20 20:58:09,178 INFO L290 TraceCheckUtils]: 57: Hoare triple {2875#false} [177] L69-1-->L69-2: Formula: (= (ite (not (= v_~x1~0_8 v_~x2~0_8)) 1 0) |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3|) InVars {~x2~0=v_~x2~0_8, ~x1~0=v_~x1~0_8} OutVars{~x2~0=v_~x2~0_8, ~x1~0=v_~x1~0_8, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] {2875#false} is VALID [2022-02-20 20:58:09,178 INFO L290 TraceCheckUtils]: 58: Hoare triple {2875#false} [139] L69-2-->L34-2: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_5|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {2875#false} is VALID [2022-02-20 20:58:09,179 INFO L290 TraceCheckUtils]: 59: Hoare triple {2875#false} [147] L34-2-->L35-3: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_6|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_6|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {2875#false} is VALID [2022-02-20 20:58:09,179 INFO L290 TraceCheckUtils]: 60: Hoare triple {2875#false} [114] L35-3-->L34-3: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_8| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_8|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_8|} AuxVars[] AssignedVars[] {2875#false} is VALID [2022-02-20 20:58:09,179 INFO L290 TraceCheckUtils]: 61: Hoare triple {2875#false} [124] L34-3-->L70: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2875#false} is VALID [2022-02-20 20:58:09,179 INFO L290 TraceCheckUtils]: 62: Hoare triple {2875#false} [185] L70-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {2875#false} is VALID [2022-02-20 20:58:09,179 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 20:58:09,180 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 20:58:09,180 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [671803527] [2022-02-20 20:58:09,180 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [671803527] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 20:58:09,180 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 20:58:09,180 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-02-20 20:58:09,180 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [652435787] [2022-02-20 20:58:09,180 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 20:58:09,181 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 10.5) internal successors, (63), 6 states have internal predecessors, (63), 0 states have call successors, (0), 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 63 [2022-02-20 20:58:09,181 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 20:58:09,181 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 10.5) internal successors, (63), 6 states have internal predecessors, (63), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:58:09,211 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 20:58:09,211 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 20:58:09,211 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 20:58:09,212 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 20:58:09,212 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=16, Unknown=0, NotChecked=0, Total=30 [2022-02-20 20:58:09,212 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 53 out of 84 [2022-02-20 20:58:09,213 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 95 places, 81 transitions, 362 flow. Second operand has 6 states, 6 states have (on average 56.5) internal successors, (339), 6 states have internal predecessors, (339), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:58:09,213 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 20:58:09,213 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 53 of 84 [2022-02-20 20:58:09,213 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 20:58:09,431 INFO L129 PetriNetUnfolder]: 52/204 cut-off events. [2022-02-20 20:58:09,432 INFO L130 PetriNetUnfolder]: For 542/542 co-relation queries the response was YES. [2022-02-20 20:58:09,432 INFO L84 FinitePrefix]: Finished finitePrefix Result has 614 conditions, 204 events. 52/204 cut-off events. For 542/542 co-relation queries the response was YES. Maximal size of possible extension queue 15. Compared 696 event pairs, 20 based on Foata normal form. 2/199 useless extension candidates. Maximal degree in co-relation 599. Up to 95 conditions per place. [2022-02-20 20:58:09,433 INFO L132 encePairwiseOnDemand]: 77/84 looper letters, 36 selfloop transitions, 5 changer transitions 5/89 dead transitions. [2022-02-20 20:58:09,433 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 100 places, 89 transitions, 476 flow [2022-02-20 20:58:09,433 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 20:58:09,433 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2022-02-20 20:58:09,436 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 355 transitions. [2022-02-20 20:58:09,436 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.7043650793650794 [2022-02-20 20:58:09,437 INFO L72 ComplementDD]: Start complementDD. Operand 6 states and 355 transitions. [2022-02-20 20:58:09,437 INFO L73 IsDeterministic]: Start isDeterministic. Operand 6 states and 355 transitions. [2022-02-20 20:58:09,437 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 20:58:09,437 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 6 states and 355 transitions. [2022-02-20 20:58:09,438 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 7 states, 6 states have (on average 59.166666666666664) internal successors, (355), 6 states have internal predecessors, (355), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:58:09,438 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 7 states, 7 states have (on average 84.0) internal successors, (588), 7 states have internal predecessors, (588), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:58:09,439 INFO L81 ComplementDD]: Finished complementDD. Result has 7 states, 7 states have (on average 84.0) internal successors, (588), 7 states have internal predecessors, (588), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:58:09,439 INFO L186 Difference]: Start difference. First operand has 95 places, 81 transitions, 362 flow. Second operand 6 states and 355 transitions. [2022-02-20 20:58:09,439 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 100 places, 89 transitions, 476 flow [2022-02-20 20:58:10,802 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 96 places, 89 transitions, 466 flow, removed 0 selfloop flow, removed 4 redundant places. [2022-02-20 20:58:10,803 INFO L242 Difference]: Finished difference. Result has 97 places, 79 transitions, 340 flow [2022-02-20 20:58:10,803 INFO L317 CegarLoopForPetriNet]: {PETRI_ALPHABET=84, PETRI_DIFFERENCE_MINUEND_FLOW=336, PETRI_DIFFERENCE_MINUEND_PLACES=91, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=80, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=5, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=75, PETRI_DIFFERENCE_SUBTRAHEND_STATES=6, PETRI_FLOW=340, PETRI_PLACES=97, PETRI_TRANSITIONS=79} [2022-02-20 20:58:10,804 INFO L334 CegarLoopForPetriNet]: 74 programPoint places, 23 predicate places. [2022-02-20 20:58:10,804 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 97 places, 79 transitions, 340 flow [2022-02-20 20:58:10,819 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 473 states, 472 states have (on average 2.417372881355932) internal successors, (1141), 472 states have internal predecessors, (1141), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:58:10,821 INFO L78 Accepts]: Start accepts. Automaton has has 473 states, 472 states have (on average 2.417372881355932) internal successors, (1141), 472 states have internal predecessors, (1141), 0 states have call successors, (0), 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 63 [2022-02-20 20:58:10,821 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 20:58:10,821 INFO L470 AbstractCegarLoop]: Abstraction has has 97 places, 79 transitions, 340 flow [2022-02-20 20:58:10,822 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 56.5) internal successors, (339), 6 states have internal predecessors, (339), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:58:10,822 INFO L246 CegarLoopForPetriNet]: Found error trace [2022-02-20 20:58:10,822 INFO L254 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 20:58:10,822 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2022-02-20 20:58:10,822 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION] === [2022-02-20 20:58:10,823 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 20:58:10,823 INFO L85 PathProgramCache]: Analyzing trace with hash 1762779038, now seen corresponding path program 1 times [2022-02-20 20:58:10,823 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 20:58:10,823 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [237158881] [2022-02-20 20:58:10,823 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:58:10,824 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 20:58:10,866 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:58:10,975 INFO L290 TraceCheckUtils]: 0: Hoare triple {3358#true} [167] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3358#true} is VALID [2022-02-20 20:58:10,975 INFO L290 TraceCheckUtils]: 1: Hoare triple {3358#true} [145] 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] {3358#true} is VALID [2022-02-20 20:58:10,975 INFO L290 TraceCheckUtils]: 2: Hoare triple {3358#true} [173] 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[] {3358#true} is VALID [2022-02-20 20:58:10,976 INFO L290 TraceCheckUtils]: 3: Hoare triple {3358#true} [175] L-1-2-->L21: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {3358#true} is VALID [2022-02-20 20:58:10,977 INFO L290 TraceCheckUtils]: 4: Hoare triple {3358#true} [133] L21-->L21-1: Formula: (and (= (select |v_#valid_2| 1) 1) (= 2 (select |v_#length_1| 1))) InVars {#length=|v_#length_1|, #valid=|v_#valid_2|} OutVars{#length=|v_#length_1|, #valid=|v_#valid_2|} AuxVars[] AssignedVars[] {3358#true} is VALID [2022-02-20 20:58:10,977 INFO L290 TraceCheckUtils]: 5: Hoare triple {3358#true} [163] L21-1-->L21-2: Formula: (= 48 (select (select |v_#memory_int_1| 1) 0)) InVars {#memory_int=|v_#memory_int_1|} OutVars{#memory_int=|v_#memory_int_1|} AuxVars[] AssignedVars[] {3358#true} is VALID [2022-02-20 20:58:10,978 INFO L290 TraceCheckUtils]: 6: Hoare triple {3358#true} [161] L21-2-->L21-3: Formula: (= (select (select |v_#memory_int_2| 1) 1) 0) InVars {#memory_int=|v_#memory_int_2|} OutVars{#memory_int=|v_#memory_int_2|} AuxVars[] AssignedVars[] {3358#true} is VALID [2022-02-20 20:58:10,978 INFO L290 TraceCheckUtils]: 7: Hoare triple {3358#true} [125] L21-3-->L21-4: Formula: (and (= (select |v_#valid_3| 2) 1) (= (select |v_#length_2| 2) 17)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {3358#true} is VALID [2022-02-20 20:58:10,978 INFO L290 TraceCheckUtils]: 8: Hoare triple {3358#true} [181] L21-4-->L38: Formula: (= v_~x1~0_5 0) InVars {} OutVars{~x1~0=v_~x1~0_5} AuxVars[] AssignedVars[~x1~0] {3358#true} is VALID [2022-02-20 20:58:10,978 INFO L290 TraceCheckUtils]: 9: Hoare triple {3358#true} [182] L38-->L-1-3: Formula: (= v_~x2~0_5 0) InVars {} OutVars{~x2~0=v_~x2~0_5} AuxVars[] AssignedVars[~x2~0] {3358#true} is VALID [2022-02-20 20:58:10,978 INFO L290 TraceCheckUtils]: 10: Hoare triple {3358#true} [179] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3358#true} is VALID [2022-02-20 20:58:10,978 INFO L290 TraceCheckUtils]: 11: Hoare triple {3358#true} [157] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3358#true} is VALID [2022-02-20 20:58:10,978 INFO L290 TraceCheckUtils]: 12: Hoare triple {3358#true} [123] L-1-5-->L-1-6: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {3358#true} is VALID [2022-02-20 20:58:10,978 INFO L290 TraceCheckUtils]: 13: Hoare triple {3358#true} [155] L-1-6-->L57: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_1|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_1|, ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_1|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_1|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_1|, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_1|, ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_#t~nondet8#1=|v_ULTIMATE.start_main_#t~nondet8#1_1|, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_1|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_1|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1, ULTIMATE.start_main_#t~nondet4#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t2~0#1.offset, ULTIMATE.start_main_#t~nondet8#1, ULTIMATE.start_main_#t~nondet6#1, ULTIMATE.start_main_#t~mem9#1, ULTIMATE.start_main_#t~pre7#1, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset, ULTIMATE.start_main_#t~mem10#1, ULTIMATE.start_main_~#t2~0#1.base] {3358#true} is VALID [2022-02-20 20:58:10,979 INFO L290 TraceCheckUtils]: 14: Hoare triple {3358#true} [184] L57-->L57-1: Formula: (and (= |v_ULTIMATE.start_main_~#t1~0#1.offset_2| 0) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) 0) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 4)) (not (= |v_ULTIMATE.start_main_~#t1~0#1.base_2| 0)) (= (store |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 1) |v_#valid_4|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_2|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[#valid, #length, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset] {3358#true} is VALID [2022-02-20 20:58:10,979 INFO L290 TraceCheckUtils]: 15: Hoare triple {3358#true} [121] L57-1-->L57-2: Formula: (and (= |v_#length_5| (store |v_#length_6| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 4)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2|) 0) (= (store |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 1) |v_#valid_6|) (not (= |v_ULTIMATE.start_main_~#t2~0#1.base_2| 0)) (= 0 |v_ULTIMATE.start_main_~#t2~0#1.offset_2|) (< |v_#StackHeapBarrier_3| |v_ULTIMATE.start_main_~#t2~0#1.base_2|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_7|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_5|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_2|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t2~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t2~0#1.base] {3358#true} is VALID [2022-02-20 20:58:10,979 INFO L290 TraceCheckUtils]: 16: Hoare triple {3358#true} [172] L57-2-->L59: Formula: (and (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet3#1_2| 2147483648)) (<= |v_ULTIMATE.start_main_#t~nondet3#1_2| 2147483647)) InVars {ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[] {3358#true} is VALID [2022-02-20 20:58:10,979 INFO L290 TraceCheckUtils]: 17: Hoare triple {3358#true} [140] L59-->L59-1: Formula: (= v_~x1~0_6 |v_ULTIMATE.start_main_#t~nondet3#1_3|) InVars {ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_3|} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_3|, ~x1~0=v_~x1~0_6} AuxVars[] AssignedVars[~x1~0] {3358#true} is VALID [2022-02-20 20:58:10,979 INFO L290 TraceCheckUtils]: 18: Hoare triple {3358#true} [115] L59-1-->L60: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] {3358#true} is VALID [2022-02-20 20:58:10,979 INFO L290 TraceCheckUtils]: 19: Hoare triple {3358#true} [178] L60-->L60-1: Formula: (and (<= |v_ULTIMATE.start_main_#t~nondet4#1_2| 2147483647) (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet4#1_2| 2147483648))) InVars {ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_2|} OutVars{ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_2|} AuxVars[] AssignedVars[] {3358#true} is VALID [2022-02-20 20:58:10,979 INFO L290 TraceCheckUtils]: 20: Hoare triple {3358#true} [143] L60-1-->L60-2: Formula: (= v_~x2~0_6 |v_ULTIMATE.start_main_#t~nondet4#1_3|) InVars {ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_3|} OutVars{~x2~0=v_~x2~0_6, ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_3|} AuxVars[] AssignedVars[~x2~0] {3358#true} is VALID [2022-02-20 20:58:10,980 INFO L290 TraceCheckUtils]: 21: Hoare triple {3358#true} [129] L60-2-->L61: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet4#1] {3358#true} is VALID [2022-02-20 20:58:10,980 INFO L290 TraceCheckUtils]: 22: Hoare triple {3358#true} [109] L61-->L61-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3358#true} is VALID [2022-02-20 20:58:10,980 INFO L290 TraceCheckUtils]: 23: Hoare triple {3358#true} [154] L61-1-->L61-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1| (ite (and (<= 0 v_~x1~0_7) (= v_~x1~0_7 v_~x2~0_7)) 1 0)) InVars {~x2~0=v_~x2~0_7, ~x1~0=v_~x1~0_7} OutVars{~x2~0=v_~x2~0_7, ~x1~0=v_~x1~0_7, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] {3358#true} is VALID [2022-02-20 20:58:10,980 INFO L290 TraceCheckUtils]: 24: Hoare triple {3358#true} [162] L61-2-->L34: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {3358#true} is VALID [2022-02-20 20:58:10,980 INFO L290 TraceCheckUtils]: 25: Hoare triple {3358#true} [132] L34-->L35: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_2|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_2|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {3358#true} is VALID [2022-02-20 20:58:10,980 INFO L290 TraceCheckUtils]: 26: Hoare triple {3358#true} [165] L35-->L34-1: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_4| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_4|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_4|} AuxVars[] AssignedVars[] {3358#true} is VALID [2022-02-20 20:58:10,980 INFO L290 TraceCheckUtils]: 27: Hoare triple {3358#true} [158] L34-1-->L64: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3358#true} is VALID [2022-02-20 20:58:10,980 INFO L290 TraceCheckUtils]: 28: Hoare triple {3358#true} [128] L64-->L64-1: Formula: (= |v_ULTIMATE.start_main_#t~pre5#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_2|, #pthreadsForks=|v_#pthreadsForks_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1] {3358#true} is VALID [2022-02-20 20:58:10,981 INFO L290 TraceCheckUtils]: 29: Hoare triple {3358#true} [174] L64-1-->L64-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {3358#true} is VALID [2022-02-20 20:58:10,981 INFO L290 TraceCheckUtils]: 30: Hoare triple {3358#true} [187] L64-2-->L64-3: Formula: (= (store |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3| (store (select |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3|) |v_ULTIMATE.start_main_~#t1~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre5#1_3|)) |v_#memory_int_3|) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_3|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_3|, #memory_int=|v_#memory_int_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} AuxVars[] AssignedVars[#memory_int] {3358#true} is VALID [2022-02-20 20:58:10,981 INFO L290 TraceCheckUtils]: 31: Hoare triple {3358#true} [207] L64-3-->L41-1: Formula: (and (= v_thread1Thread1of1ForFork0_thidvar1_2 0) (= |v_ULTIMATE.start_main_#t~pre5#1_6| v_thread1Thread1of1ForFork0_thidvar0_2)) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_6|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_6|, thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_4|, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_8|, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_2, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_4|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_2} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#t~post1, thread1Thread1of1ForFork0_thidvar0, thread1Thread1of1ForFork0_#res.offset, thread1Thread1of1ForFork0_thidvar1] {3358#true} is VALID [2022-02-20 20:58:10,981 INFO L290 TraceCheckUtils]: 32: Hoare triple {3358#true} [192] L41-1-->L42: Formula: (< v_~x1~0_2 10000) InVars {~x1~0=v_~x1~0_2} OutVars{~x1~0=v_~x1~0_2} AuxVars[] AssignedVars[] {3360#(<= ~x1~0 9999)} is VALID [2022-02-20 20:58:10,982 INFO L290 TraceCheckUtils]: 33: Hoare triple {3360#(<= ~x1~0 9999)} [194] L42-->L42-1: Formula: (= v_~x1~0_3 |v_thread1Thread1of1ForFork0_#t~post1_1|) InVars {~x1~0=v_~x1~0_3} OutVars{thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_1|, ~x1~0=v_~x1~0_3} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post1] {3361#(<= |thread1Thread1of1ForFork0_#t~post1| 9999)} is VALID [2022-02-20 20:58:10,982 INFO L290 TraceCheckUtils]: 34: Hoare triple {3361#(<= |thread1Thread1of1ForFork0_#t~post1| 9999)} [196] L42-1-->L42-2: Formula: (= v_~x1~0_4 (+ |v_thread1Thread1of1ForFork0_#t~post1_3| 1)) InVars {thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_3|} OutVars{thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_3|, ~x1~0=v_~x1~0_4} AuxVars[] AssignedVars[~x1~0] {3362#(<= ~x1~0 10000)} is VALID [2022-02-20 20:58:10,982 INFO L290 TraceCheckUtils]: 35: Hoare triple {3362#(<= ~x1~0 10000)} [197] L42-2-->L41-1: Formula: true InVars {} OutVars{thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_5|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post1] {3362#(<= ~x1~0 10000)} is VALID [2022-02-20 20:58:10,983 INFO L290 TraceCheckUtils]: 36: Hoare triple {3362#(<= ~x1~0 10000)} [146] L64-4-->L64-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1] {3362#(<= ~x1~0 10000)} is VALID [2022-02-20 20:58:10,983 INFO L290 TraceCheckUtils]: 37: Hoare triple {3362#(<= ~x1~0 10000)} [142] L64-5-->L65: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet6#1] {3362#(<= ~x1~0 10000)} is VALID [2022-02-20 20:58:10,983 INFO L290 TraceCheckUtils]: 38: Hoare triple {3362#(<= ~x1~0 10000)} [188] L65-->L65-1: Formula: (= |v_ULTIMATE.start_main_#t~pre7#1_2| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{#pthreadsForks=|v_#pthreadsForks_4|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre7#1] {3362#(<= ~x1~0 10000)} is VALID [2022-02-20 20:58:10,984 INFO L290 TraceCheckUtils]: 39: Hoare triple {3362#(<= ~x1~0 10000)} [169] L65-1-->L65-2: Formula: (= (+ 1 |v_#pthreadsForks_6|) |v_#pthreadsForks_5|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_5|} AuxVars[] AssignedVars[#pthreadsForks] {3362#(<= ~x1~0 10000)} is VALID [2022-02-20 20:58:10,984 INFO L290 TraceCheckUtils]: 40: Hoare triple {3362#(<= ~x1~0 10000)} [144] L65-2-->L65-3: Formula: (= (store |v_#memory_int_6| |v_ULTIMATE.start_main_~#t2~0#1.base_3| (store (select |v_#memory_int_6| |v_ULTIMATE.start_main_~#t2~0#1.base_3|) |v_ULTIMATE.start_main_~#t2~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre7#1_3|)) |v_#memory_int_5|) InVars {#memory_int=|v_#memory_int_6|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_3|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} OutVars{#memory_int=|v_#memory_int_5|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_3|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} AuxVars[] AssignedVars[#memory_int] {3362#(<= ~x1~0 10000)} is VALID [2022-02-20 20:58:10,984 INFO L290 TraceCheckUtils]: 41: Hoare triple {3362#(<= ~x1~0 10000)} [209] L65-3-->L49-1: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar1_2) (= |v_ULTIMATE.start_main_#t~pre7#1_6| v_thread2Thread1of1ForFork1_thidvar0_2) (= 0 v_thread2Thread1of1ForFork1_thidvar2_2)) InVars {ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_6|} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_4|, thread2Thread1of1ForFork1_#t~post2=|v_thread2Thread1of1ForFork1_#t~post2_8|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_4|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_6|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_2, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_2, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_2} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, thread2Thread1of1ForFork1_#t~post2, thread2Thread1of1ForFork1_#res.base, thread2Thread1of1ForFork1_thidvar2, thread2Thread1of1ForFork1_thidvar0, thread2Thread1of1ForFork1_thidvar1] {3362#(<= ~x1~0 10000)} is VALID [2022-02-20 20:58:10,985 INFO L290 TraceCheckUtils]: 42: Hoare triple {3362#(<= ~x1~0 10000)} [200] L49-1-->L50: Formula: (< v_~x2~0_2 10000) InVars {~x2~0=v_~x2~0_2} OutVars{~x2~0=v_~x2~0_2} AuxVars[] AssignedVars[] {3363#(and (<= ~x2~0 9999) (<= ~x1~0 10000))} is VALID [2022-02-20 20:58:10,985 INFO L290 TraceCheckUtils]: 43: Hoare triple {3363#(and (<= ~x2~0 9999) (<= ~x1~0 10000))} [191] L41-1-->L41-2: Formula: (not (< v_~x1~0_1 10000)) InVars {~x1~0=v_~x1~0_1} OutVars{~x1~0=v_~x1~0_1} AuxVars[] AssignedVars[] {3364#(and (<= ~x1~0 10000) (<= (+ ~x2~0 1) ~x1~0))} is VALID [2022-02-20 20:58:10,985 INFO L290 TraceCheckUtils]: 44: Hoare triple {3364#(and (<= ~x1~0 10000) (<= (+ ~x2~0 1) ~x1~0))} [193] L41-2-->thread1FINAL: Formula: (and (= |v_thread1Thread1of1ForFork0_#res.base_1| 0) (= |v_thread1Thread1of1ForFork0_#res.offset_1| 0)) InVars {} OutVars{thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_1|, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#res.offset] {3364#(and (<= ~x1~0 10000) (<= (+ ~x2~0 1) ~x1~0))} is VALID [2022-02-20 20:58:10,986 INFO L290 TraceCheckUtils]: 45: Hoare triple {3364#(and (<= ~x1~0 10000) (<= (+ ~x2~0 1) ~x1~0))} [195] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3364#(and (<= ~x1~0 10000) (<= (+ ~x2~0 1) ~x1~0))} is VALID [2022-02-20 20:58:10,986 INFO L290 TraceCheckUtils]: 46: Hoare triple {3364#(and (<= ~x1~0 10000) (<= (+ ~x2~0 1) ~x1~0))} [126] L65-4-->L65-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre7#1] {3364#(and (<= ~x1~0 10000) (<= (+ ~x2~0 1) ~x1~0))} is VALID [2022-02-20 20:58:10,986 INFO L290 TraceCheckUtils]: 47: Hoare triple {3364#(and (<= ~x1~0 10000) (<= (+ ~x2~0 1) ~x1~0))} [130] L65-5-->L66: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet8#1=|v_ULTIMATE.start_main_#t~nondet8#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet8#1] {3364#(and (<= ~x1~0 10000) (<= (+ ~x2~0 1) ~x1~0))} is VALID [2022-02-20 20:58:10,987 INFO L290 TraceCheckUtils]: 48: Hoare triple {3364#(and (<= ~x1~0 10000) (<= (+ ~x2~0 1) ~x1~0))} [138] L66-->L66-1: Formula: (= |v_ULTIMATE.start_main_#t~mem9#1_2| (select (select |v_#memory_int_7| |v_ULTIMATE.start_main_~#t1~0#1.base_4|) |v_ULTIMATE.start_main_~#t1~0#1.offset_4|)) InVars {#memory_int=|v_#memory_int_7|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_4|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_4|} OutVars{#memory_int=|v_#memory_int_7|, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_2|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_4|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem9#1] {3364#(and (<= ~x1~0 10000) (<= (+ ~x2~0 1) ~x1~0))} is VALID [2022-02-20 20:58:10,987 INFO L290 TraceCheckUtils]: 49: Hoare triple {3364#(and (<= ~x1~0 10000) (<= (+ ~x2~0 1) ~x1~0))} [210] thread1EXIT-->L66-2: Formula: (and (= v_thread1Thread1of1ForFork0_thidvar1_4 0) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem9#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ (- 4294967296) .cse0))) v_thread1Thread1of1ForFork0_thidvar0_4)) InVars {thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_5|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4} OutVars{thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_5|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4} AuxVars[] AssignedVars[] {3364#(and (<= ~x1~0 10000) (<= (+ ~x2~0 1) ~x1~0))} is VALID [2022-02-20 20:58:10,988 INFO L290 TraceCheckUtils]: 50: Hoare triple {3364#(and (<= ~x1~0 10000) (<= (+ ~x2~0 1) ~x1~0))} [202] L50-->L50-1: Formula: (= v_~x2~0_3 |v_thread2Thread1of1ForFork1_#t~post2_1|) InVars {~x2~0=v_~x2~0_3} OutVars{~x2~0=v_~x2~0_3, thread2Thread1of1ForFork1_#t~post2=|v_thread2Thread1of1ForFork1_#t~post2_1|} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#t~post2] {3365#(and (<= ~x1~0 10000) (<= (+ |thread2Thread1of1ForFork1_#t~post2| 1) ~x1~0))} is VALID [2022-02-20 20:58:10,988 INFO L290 TraceCheckUtils]: 51: Hoare triple {3365#(and (<= ~x1~0 10000) (<= (+ |thread2Thread1of1ForFork1_#t~post2| 1) ~x1~0))} [204] L50-1-->L50-2: Formula: (= v_~x2~0_4 (+ |v_thread2Thread1of1ForFork1_#t~post2_3| 1)) InVars {thread2Thread1of1ForFork1_#t~post2=|v_thread2Thread1of1ForFork1_#t~post2_3|} OutVars{~x2~0=v_~x2~0_4, thread2Thread1of1ForFork1_#t~post2=|v_thread2Thread1of1ForFork1_#t~post2_3|} AuxVars[] AssignedVars[~x2~0] {3366#(and (< ~x2~0 (+ ~x1~0 1)) (or (<= ~x1~0 ~x2~0) (<= ~x1~0 10000)))} is VALID [2022-02-20 20:58:10,988 INFO L290 TraceCheckUtils]: 52: Hoare triple {3366#(and (< ~x2~0 (+ ~x1~0 1)) (or (<= ~x1~0 ~x2~0) (<= ~x1~0 10000)))} [151] L66-2-->L67: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem9#1] {3366#(and (< ~x2~0 (+ ~x1~0 1)) (or (<= ~x1~0 ~x2~0) (<= ~x1~0 10000)))} is VALID [2022-02-20 20:58:10,989 INFO L290 TraceCheckUtils]: 53: Hoare triple {3366#(and (< ~x2~0 (+ ~x1~0 1)) (or (<= ~x1~0 ~x2~0) (<= ~x1~0 10000)))} [166] L67-->L67-1: Formula: (= (select (select |v_#memory_int_8| |v_ULTIMATE.start_main_~#t2~0#1.base_4|) |v_ULTIMATE.start_main_~#t2~0#1.offset_4|) |v_ULTIMATE.start_main_#t~mem10#1_2|) InVars {#memory_int=|v_#memory_int_8|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_4|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} OutVars{#memory_int=|v_#memory_int_8|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_4|, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10#1] {3366#(and (< ~x2~0 (+ ~x1~0 1)) (or (<= ~x1~0 ~x2~0) (<= ~x1~0 10000)))} is VALID [2022-02-20 20:58:10,989 INFO L290 TraceCheckUtils]: 54: Hoare triple {3366#(and (< ~x2~0 (+ ~x1~0 1)) (or (<= ~x1~0 ~x2~0) (<= ~x1~0 10000)))} [205] L50-2-->L49-1: Formula: true InVars {} OutVars{thread2Thread1of1ForFork1_#t~post2=|v_thread2Thread1of1ForFork1_#t~post2_5|} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#t~post2] {3366#(and (< ~x2~0 (+ ~x1~0 1)) (or (<= ~x1~0 ~x2~0) (<= ~x1~0 10000)))} is VALID [2022-02-20 20:58:10,990 INFO L290 TraceCheckUtils]: 55: Hoare triple {3366#(and (< ~x2~0 (+ ~x1~0 1)) (or (<= ~x1~0 ~x2~0) (<= ~x1~0 10000)))} [199] L49-1-->L49-2: Formula: (not (< v_~x2~0_1 10000)) InVars {~x2~0=v_~x2~0_1} OutVars{~x2~0=v_~x2~0_1} AuxVars[] AssignedVars[] {3367#(and (<= ~x1~0 ~x2~0) (< ~x2~0 (+ ~x1~0 1)))} is VALID [2022-02-20 20:58:10,990 INFO L290 TraceCheckUtils]: 56: Hoare triple {3367#(and (<= ~x1~0 ~x2~0) (< ~x2~0 (+ ~x1~0 1)))} [201] L49-2-->thread2FINAL: Formula: (and (= |v_thread2Thread1of1ForFork1_#res.base_1| 0) (= |v_thread2Thread1of1ForFork1_#res.offset_1| 0)) InVars {} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_1|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_1|} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, thread2Thread1of1ForFork1_#res.base] {3367#(and (<= ~x1~0 ~x2~0) (< ~x2~0 (+ ~x1~0 1)))} is VALID [2022-02-20 20:58:10,990 INFO L290 TraceCheckUtils]: 57: Hoare triple {3367#(and (<= ~x1~0 ~x2~0) (< ~x2~0 (+ ~x1~0 1)))} [203] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3367#(and (<= ~x1~0 ~x2~0) (< ~x2~0 (+ ~x1~0 1)))} is VALID [2022-02-20 20:58:10,991 INFO L290 TraceCheckUtils]: 58: Hoare triple {3367#(and (<= ~x1~0 ~x2~0) (< ~x2~0 (+ ~x1~0 1)))} [211] thread2EXIT-->L67-2: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar2_4) (= 0 v_thread2Thread1of1ForFork1_thidvar1_4) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem10#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ .cse0 (- 4294967296)))) v_thread2Thread1of1ForFork1_thidvar0_4)) InVars {thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} OutVars{thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} AuxVars[] AssignedVars[] {3367#(and (<= ~x1~0 ~x2~0) (< ~x2~0 (+ ~x1~0 1)))} is VALID [2022-02-20 20:58:10,991 INFO L290 TraceCheckUtils]: 59: Hoare triple {3367#(and (<= ~x1~0 ~x2~0) (< ~x2~0 (+ ~x1~0 1)))} [120] L67-2-->L69: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10#1] {3367#(and (<= ~x1~0 ~x2~0) (< ~x2~0 (+ ~x1~0 1)))} is VALID [2022-02-20 20:58:10,992 INFO L290 TraceCheckUtils]: 60: Hoare triple {3367#(and (<= ~x1~0 ~x2~0) (< ~x2~0 (+ ~x1~0 1)))} [122] L69-->L69-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3367#(and (<= ~x1~0 ~x2~0) (< ~x2~0 (+ ~x1~0 1)))} is VALID [2022-02-20 20:58:10,992 INFO L290 TraceCheckUtils]: 61: Hoare triple {3367#(and (<= ~x1~0 ~x2~0) (< ~x2~0 (+ ~x1~0 1)))} [177] L69-1-->L69-2: Formula: (= (ite (not (= v_~x1~0_8 v_~x2~0_8)) 1 0) |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3|) InVars {~x2~0=v_~x2~0_8, ~x1~0=v_~x1~0_8} OutVars{~x2~0=v_~x2~0_8, ~x1~0=v_~x1~0_8, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] {3368#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} is VALID [2022-02-20 20:58:10,992 INFO L290 TraceCheckUtils]: 62: Hoare triple {3368#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} [139] L69-2-->L34-2: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_5|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {3368#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} is VALID [2022-02-20 20:58:10,993 INFO L290 TraceCheckUtils]: 63: Hoare triple {3368#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} [147] L34-2-->L35-3: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_6|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_6|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {3369#(= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0)} is VALID [2022-02-20 20:58:10,993 INFO L290 TraceCheckUtils]: 64: Hoare triple {3369#(= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0)} [114] L35-3-->L34-3: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_8| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_8|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_8|} AuxVars[] AssignedVars[] {3359#false} is VALID [2022-02-20 20:58:10,993 INFO L290 TraceCheckUtils]: 65: Hoare triple {3359#false} [124] L34-3-->L70: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3359#false} is VALID [2022-02-20 20:58:10,993 INFO L290 TraceCheckUtils]: 66: Hoare triple {3359#false} [185] L70-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3359#false} is VALID [2022-02-20 20:58:10,994 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 20:58:10,994 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 20:58:10,994 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [237158881] [2022-02-20 20:58:10,994 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [237158881] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 20:58:10,994 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [640792881] [2022-02-20 20:58:10,994 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 20:58:10,995 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 20:58:10,995 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 20:58:10,996 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 20:58:10,999 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-02-20 20:58:11,091 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:58:11,093 INFO L263 TraceCheckSpWp]: Trace formula consists of 151 conjuncts, 18 conjunts are in the unsatisfiable core [2022-02-20 20:58:11,108 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 20:58:11,112 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 20:58:11,602 INFO L290 TraceCheckUtils]: 0: Hoare triple {3358#true} [167] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3358#true} is VALID [2022-02-20 20:58:11,602 INFO L290 TraceCheckUtils]: 1: Hoare triple {3358#true} [145] 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] {3358#true} is VALID [2022-02-20 20:58:11,602 INFO L290 TraceCheckUtils]: 2: Hoare triple {3358#true} [173] 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[] {3358#true} is VALID [2022-02-20 20:58:11,603 INFO L290 TraceCheckUtils]: 3: Hoare triple {3358#true} [175] L-1-2-->L21: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {3358#true} is VALID [2022-02-20 20:58:11,603 INFO L290 TraceCheckUtils]: 4: Hoare triple {3358#true} [133] L21-->L21-1: Formula: (and (= (select |v_#valid_2| 1) 1) (= 2 (select |v_#length_1| 1))) InVars {#length=|v_#length_1|, #valid=|v_#valid_2|} OutVars{#length=|v_#length_1|, #valid=|v_#valid_2|} AuxVars[] AssignedVars[] {3358#true} is VALID [2022-02-20 20:58:11,603 INFO L290 TraceCheckUtils]: 5: Hoare triple {3358#true} [163] L21-1-->L21-2: Formula: (= 48 (select (select |v_#memory_int_1| 1) 0)) InVars {#memory_int=|v_#memory_int_1|} OutVars{#memory_int=|v_#memory_int_1|} AuxVars[] AssignedVars[] {3358#true} is VALID [2022-02-20 20:58:11,603 INFO L290 TraceCheckUtils]: 6: Hoare triple {3358#true} [161] L21-2-->L21-3: Formula: (= (select (select |v_#memory_int_2| 1) 1) 0) InVars {#memory_int=|v_#memory_int_2|} OutVars{#memory_int=|v_#memory_int_2|} AuxVars[] AssignedVars[] {3358#true} is VALID [2022-02-20 20:58:11,603 INFO L290 TraceCheckUtils]: 7: Hoare triple {3358#true} [125] L21-3-->L21-4: Formula: (and (= (select |v_#valid_3| 2) 1) (= (select |v_#length_2| 2) 17)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {3358#true} is VALID [2022-02-20 20:58:11,603 INFO L290 TraceCheckUtils]: 8: Hoare triple {3358#true} [181] L21-4-->L38: Formula: (= v_~x1~0_5 0) InVars {} OutVars{~x1~0=v_~x1~0_5} AuxVars[] AssignedVars[~x1~0] {3358#true} is VALID [2022-02-20 20:58:11,603 INFO L290 TraceCheckUtils]: 9: Hoare triple {3358#true} [182] L38-->L-1-3: Formula: (= v_~x2~0_5 0) InVars {} OutVars{~x2~0=v_~x2~0_5} AuxVars[] AssignedVars[~x2~0] {3358#true} is VALID [2022-02-20 20:58:11,603 INFO L290 TraceCheckUtils]: 10: Hoare triple {3358#true} [179] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3358#true} is VALID [2022-02-20 20:58:11,604 INFO L290 TraceCheckUtils]: 11: Hoare triple {3358#true} [157] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3358#true} is VALID [2022-02-20 20:58:11,604 INFO L290 TraceCheckUtils]: 12: Hoare triple {3358#true} [123] L-1-5-->L-1-6: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {3358#true} is VALID [2022-02-20 20:58:11,604 INFO L290 TraceCheckUtils]: 13: Hoare triple {3358#true} [155] L-1-6-->L57: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_1|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_1|, ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_1|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_1|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_1|, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_1|, ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_#t~nondet8#1=|v_ULTIMATE.start_main_#t~nondet8#1_1|, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_1|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_1|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1, ULTIMATE.start_main_#t~nondet4#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t2~0#1.offset, ULTIMATE.start_main_#t~nondet8#1, ULTIMATE.start_main_#t~nondet6#1, ULTIMATE.start_main_#t~mem9#1, ULTIMATE.start_main_#t~pre7#1, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset, ULTIMATE.start_main_#t~mem10#1, ULTIMATE.start_main_~#t2~0#1.base] {3358#true} is VALID [2022-02-20 20:58:11,604 INFO L290 TraceCheckUtils]: 14: Hoare triple {3358#true} [184] L57-->L57-1: Formula: (and (= |v_ULTIMATE.start_main_~#t1~0#1.offset_2| 0) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) 0) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 4)) (not (= |v_ULTIMATE.start_main_~#t1~0#1.base_2| 0)) (= (store |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 1) |v_#valid_4|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_2|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[#valid, #length, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset] {3358#true} is VALID [2022-02-20 20:58:11,604 INFO L290 TraceCheckUtils]: 15: Hoare triple {3358#true} [121] L57-1-->L57-2: Formula: (and (= |v_#length_5| (store |v_#length_6| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 4)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2|) 0) (= (store |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 1) |v_#valid_6|) (not (= |v_ULTIMATE.start_main_~#t2~0#1.base_2| 0)) (= 0 |v_ULTIMATE.start_main_~#t2~0#1.offset_2|) (< |v_#StackHeapBarrier_3| |v_ULTIMATE.start_main_~#t2~0#1.base_2|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_7|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_5|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_2|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t2~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t2~0#1.base] {3358#true} is VALID [2022-02-20 20:58:11,604 INFO L290 TraceCheckUtils]: 16: Hoare triple {3358#true} [172] L57-2-->L59: Formula: (and (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet3#1_2| 2147483648)) (<= |v_ULTIMATE.start_main_#t~nondet3#1_2| 2147483647)) InVars {ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[] {3358#true} is VALID [2022-02-20 20:58:11,604 INFO L290 TraceCheckUtils]: 17: Hoare triple {3358#true} [140] L59-->L59-1: Formula: (= v_~x1~0_6 |v_ULTIMATE.start_main_#t~nondet3#1_3|) InVars {ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_3|} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_3|, ~x1~0=v_~x1~0_6} AuxVars[] AssignedVars[~x1~0] {3358#true} is VALID [2022-02-20 20:58:11,605 INFO L290 TraceCheckUtils]: 18: Hoare triple {3358#true} [115] L59-1-->L60: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] {3358#true} is VALID [2022-02-20 20:58:11,605 INFO L290 TraceCheckUtils]: 19: Hoare triple {3358#true} [178] L60-->L60-1: Formula: (and (<= |v_ULTIMATE.start_main_#t~nondet4#1_2| 2147483647) (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet4#1_2| 2147483648))) InVars {ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_2|} OutVars{ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_2|} AuxVars[] AssignedVars[] {3358#true} is VALID [2022-02-20 20:58:11,605 INFO L290 TraceCheckUtils]: 20: Hoare triple {3358#true} [143] L60-1-->L60-2: Formula: (= v_~x2~0_6 |v_ULTIMATE.start_main_#t~nondet4#1_3|) InVars {ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_3|} OutVars{~x2~0=v_~x2~0_6, ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_3|} AuxVars[] AssignedVars[~x2~0] {3358#true} is VALID [2022-02-20 20:58:11,605 INFO L290 TraceCheckUtils]: 21: Hoare triple {3358#true} [129] L60-2-->L61: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet4#1] {3358#true} is VALID [2022-02-20 20:58:11,605 INFO L290 TraceCheckUtils]: 22: Hoare triple {3358#true} [109] L61-->L61-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3358#true} is VALID [2022-02-20 20:58:11,606 INFO L290 TraceCheckUtils]: 23: Hoare triple {3358#true} [154] L61-1-->L61-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1| (ite (and (<= 0 v_~x1~0_7) (= v_~x1~0_7 v_~x2~0_7)) 1 0)) InVars {~x2~0=v_~x2~0_7, ~x1~0=v_~x1~0_7} OutVars{~x2~0=v_~x2~0_7, ~x1~0=v_~x1~0_7, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] {3442#(or (and (or (not (<= 0 ~x1~0)) (not (= ~x2~0 ~x1~0))) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)) (and (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 1) (<= 0 ~x1~0) (= ~x2~0 ~x1~0)))} is VALID [2022-02-20 20:58:11,606 INFO L290 TraceCheckUtils]: 24: Hoare triple {3442#(or (and (or (not (<= 0 ~x1~0)) (not (= ~x2~0 ~x1~0))) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)) (and (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 1) (<= 0 ~x1~0) (= ~x2~0 ~x1~0)))} [162] L61-2-->L34: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {3442#(or (and (or (not (<= 0 ~x1~0)) (not (= ~x2~0 ~x1~0))) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)) (and (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 1) (<= 0 ~x1~0) (= ~x2~0 ~x1~0)))} is VALID [2022-02-20 20:58:11,607 INFO L290 TraceCheckUtils]: 25: Hoare triple {3442#(or (and (or (not (<= 0 ~x1~0)) (not (= ~x2~0 ~x1~0))) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)) (and (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 1) (<= 0 ~x1~0) (= ~x2~0 ~x1~0)))} [132] L34-->L35: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_2|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_2|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {3449#(or (and (or (not (<= 0 ~x1~0)) (not (= ~x2~0 ~x1~0))) (= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0)) (and (= |ULTIMATE.start_assume_abort_if_not_~cond#1| 1) (<= 0 ~x1~0) (= ~x2~0 ~x1~0)))} is VALID [2022-02-20 20:58:11,607 INFO L290 TraceCheckUtils]: 26: Hoare triple {3449#(or (and (or (not (<= 0 ~x1~0)) (not (= ~x2~0 ~x1~0))) (= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0)) (and (= |ULTIMATE.start_assume_abort_if_not_~cond#1| 1) (<= 0 ~x1~0) (= ~x2~0 ~x1~0)))} [165] L35-->L34-1: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_4| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_4|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_4|} AuxVars[] AssignedVars[] {3453#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:11,608 INFO L290 TraceCheckUtils]: 27: Hoare triple {3453#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [158] L34-1-->L64: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3453#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:11,608 INFO L290 TraceCheckUtils]: 28: Hoare triple {3453#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [128] L64-->L64-1: Formula: (= |v_ULTIMATE.start_main_#t~pre5#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_2|, #pthreadsForks=|v_#pthreadsForks_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1] {3453#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:11,608 INFO L290 TraceCheckUtils]: 29: Hoare triple {3453#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [174] L64-1-->L64-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {3453#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:11,609 INFO L290 TraceCheckUtils]: 30: Hoare triple {3453#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [187] L64-2-->L64-3: Formula: (= (store |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3| (store (select |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3|) |v_ULTIMATE.start_main_~#t1~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre5#1_3|)) |v_#memory_int_3|) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_3|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_3|, #memory_int=|v_#memory_int_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} AuxVars[] AssignedVars[#memory_int] {3453#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:11,609 INFO L290 TraceCheckUtils]: 31: Hoare triple {3453#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [207] L64-3-->L41-1: Formula: (and (= v_thread1Thread1of1ForFork0_thidvar1_2 0) (= |v_ULTIMATE.start_main_#t~pre5#1_6| v_thread1Thread1of1ForFork0_thidvar0_2)) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_6|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_6|, thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_4|, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_8|, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_2, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_4|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_2} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#t~post1, thread1Thread1of1ForFork0_thidvar0, thread1Thread1of1ForFork0_#res.offset, thread1Thread1of1ForFork0_thidvar1] {3453#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:11,609 INFO L290 TraceCheckUtils]: 32: Hoare triple {3453#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [192] L41-1-->L42: Formula: (< v_~x1~0_2 10000) InVars {~x1~0=v_~x1~0_2} OutVars{~x1~0=v_~x1~0_2} AuxVars[] AssignedVars[] {3453#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:11,610 INFO L290 TraceCheckUtils]: 33: Hoare triple {3453#(and (<= 0 ~x1~0) (= ~x2~0 ~x1~0))} [194] L42-->L42-1: Formula: (= v_~x1~0_3 |v_thread1Thread1of1ForFork0_#t~post1_1|) InVars {~x1~0=v_~x1~0_3} OutVars{thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_1|, ~x1~0=v_~x1~0_3} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post1] {3475#(and (= |thread1Thread1of1ForFork0_#t~post1| ~x2~0) (<= 0 ~x2~0))} is VALID [2022-02-20 20:58:11,610 INFO L290 TraceCheckUtils]: 34: Hoare triple {3475#(and (= |thread1Thread1of1ForFork0_#t~post1| ~x2~0) (<= 0 ~x2~0))} [196] L42-1-->L42-2: Formula: (= v_~x1~0_4 (+ |v_thread1Thread1of1ForFork0_#t~post1_3| 1)) InVars {thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_3|} OutVars{thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_3|, ~x1~0=v_~x1~0_4} AuxVars[] AssignedVars[~x1~0] {3479#(and (= ~x1~0 (+ ~x2~0 1)) (<= 0 ~x2~0))} is VALID [2022-02-20 20:58:11,610 INFO L290 TraceCheckUtils]: 35: Hoare triple {3479#(and (= ~x1~0 (+ ~x2~0 1)) (<= 0 ~x2~0))} [197] L42-2-->L41-1: Formula: true InVars {} OutVars{thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_5|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post1] {3479#(and (= ~x1~0 (+ ~x2~0 1)) (<= 0 ~x2~0))} is VALID [2022-02-20 20:58:11,611 INFO L290 TraceCheckUtils]: 36: Hoare triple {3479#(and (= ~x1~0 (+ ~x2~0 1)) (<= 0 ~x2~0))} [146] L64-4-->L64-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1] {3479#(and (= ~x1~0 (+ ~x2~0 1)) (<= 0 ~x2~0))} is VALID [2022-02-20 20:58:11,611 INFO L290 TraceCheckUtils]: 37: Hoare triple {3479#(and (= ~x1~0 (+ ~x2~0 1)) (<= 0 ~x2~0))} [142] L64-5-->L65: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet6#1] {3479#(and (= ~x1~0 (+ ~x2~0 1)) (<= 0 ~x2~0))} is VALID [2022-02-20 20:58:11,612 INFO L290 TraceCheckUtils]: 38: Hoare triple {3479#(and (= ~x1~0 (+ ~x2~0 1)) (<= 0 ~x2~0))} [188] L65-->L65-1: Formula: (= |v_ULTIMATE.start_main_#t~pre7#1_2| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{#pthreadsForks=|v_#pthreadsForks_4|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre7#1] {3479#(and (= ~x1~0 (+ ~x2~0 1)) (<= 0 ~x2~0))} is VALID [2022-02-20 20:58:11,612 INFO L290 TraceCheckUtils]: 39: Hoare triple {3479#(and (= ~x1~0 (+ ~x2~0 1)) (<= 0 ~x2~0))} [169] L65-1-->L65-2: Formula: (= (+ 1 |v_#pthreadsForks_6|) |v_#pthreadsForks_5|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_5|} AuxVars[] AssignedVars[#pthreadsForks] {3479#(and (= ~x1~0 (+ ~x2~0 1)) (<= 0 ~x2~0))} is VALID [2022-02-20 20:58:11,612 INFO L290 TraceCheckUtils]: 40: Hoare triple {3479#(and (= ~x1~0 (+ ~x2~0 1)) (<= 0 ~x2~0))} [144] L65-2-->L65-3: Formula: (= (store |v_#memory_int_6| |v_ULTIMATE.start_main_~#t2~0#1.base_3| (store (select |v_#memory_int_6| |v_ULTIMATE.start_main_~#t2~0#1.base_3|) |v_ULTIMATE.start_main_~#t2~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre7#1_3|)) |v_#memory_int_5|) InVars {#memory_int=|v_#memory_int_6|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_3|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} OutVars{#memory_int=|v_#memory_int_5|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_3|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} AuxVars[] AssignedVars[#memory_int] {3479#(and (= ~x1~0 (+ ~x2~0 1)) (<= 0 ~x2~0))} is VALID [2022-02-20 20:58:11,613 INFO L290 TraceCheckUtils]: 41: Hoare triple {3479#(and (= ~x1~0 (+ ~x2~0 1)) (<= 0 ~x2~0))} [209] L65-3-->L49-1: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar1_2) (= |v_ULTIMATE.start_main_#t~pre7#1_6| v_thread2Thread1of1ForFork1_thidvar0_2) (= 0 v_thread2Thread1of1ForFork1_thidvar2_2)) InVars {ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_6|} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_4|, thread2Thread1of1ForFork1_#t~post2=|v_thread2Thread1of1ForFork1_#t~post2_8|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_4|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_6|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_2, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_2, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_2} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, thread2Thread1of1ForFork1_#t~post2, thread2Thread1of1ForFork1_#res.base, thread2Thread1of1ForFork1_thidvar2, thread2Thread1of1ForFork1_thidvar0, thread2Thread1of1ForFork1_thidvar1] {3479#(and (= ~x1~0 (+ ~x2~0 1)) (<= 0 ~x2~0))} is VALID [2022-02-20 20:58:11,613 INFO L290 TraceCheckUtils]: 42: Hoare triple {3479#(and (= ~x1~0 (+ ~x2~0 1)) (<= 0 ~x2~0))} [200] L49-1-->L50: Formula: (< v_~x2~0_2 10000) InVars {~x2~0=v_~x2~0_2} OutVars{~x2~0=v_~x2~0_2} AuxVars[] AssignedVars[] {3479#(and (= ~x1~0 (+ ~x2~0 1)) (<= 0 ~x2~0))} is VALID [2022-02-20 20:58:11,613 INFO L290 TraceCheckUtils]: 43: Hoare triple {3479#(and (= ~x1~0 (+ ~x2~0 1)) (<= 0 ~x2~0))} [191] L41-1-->L41-2: Formula: (not (< v_~x1~0_1 10000)) InVars {~x1~0=v_~x1~0_1} OutVars{~x1~0=v_~x1~0_1} AuxVars[] AssignedVars[] {3479#(and (= ~x1~0 (+ ~x2~0 1)) (<= 0 ~x2~0))} is VALID [2022-02-20 20:58:11,614 INFO L290 TraceCheckUtils]: 44: Hoare triple {3479#(and (= ~x1~0 (+ ~x2~0 1)) (<= 0 ~x2~0))} [193] L41-2-->thread1FINAL: Formula: (and (= |v_thread1Thread1of1ForFork0_#res.base_1| 0) (= |v_thread1Thread1of1ForFork0_#res.offset_1| 0)) InVars {} OutVars{thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_1|, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#res.offset] {3479#(and (= ~x1~0 (+ ~x2~0 1)) (<= 0 ~x2~0))} is VALID [2022-02-20 20:58:11,614 INFO L290 TraceCheckUtils]: 45: Hoare triple {3479#(and (= ~x1~0 (+ ~x2~0 1)) (<= 0 ~x2~0))} [195] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3479#(and (= ~x1~0 (+ ~x2~0 1)) (<= 0 ~x2~0))} is VALID [2022-02-20 20:58:11,615 INFO L290 TraceCheckUtils]: 46: Hoare triple {3479#(and (= ~x1~0 (+ ~x2~0 1)) (<= 0 ~x2~0))} [126] L65-4-->L65-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre7#1] {3479#(and (= ~x1~0 (+ ~x2~0 1)) (<= 0 ~x2~0))} is VALID [2022-02-20 20:58:11,615 INFO L290 TraceCheckUtils]: 47: Hoare triple {3479#(and (= ~x1~0 (+ ~x2~0 1)) (<= 0 ~x2~0))} [130] L65-5-->L66: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet8#1=|v_ULTIMATE.start_main_#t~nondet8#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet8#1] {3479#(and (= ~x1~0 (+ ~x2~0 1)) (<= 0 ~x2~0))} is VALID [2022-02-20 20:58:11,615 INFO L290 TraceCheckUtils]: 48: Hoare triple {3479#(and (= ~x1~0 (+ ~x2~0 1)) (<= 0 ~x2~0))} [138] L66-->L66-1: Formula: (= |v_ULTIMATE.start_main_#t~mem9#1_2| (select (select |v_#memory_int_7| |v_ULTIMATE.start_main_~#t1~0#1.base_4|) |v_ULTIMATE.start_main_~#t1~0#1.offset_4|)) InVars {#memory_int=|v_#memory_int_7|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_4|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_4|} OutVars{#memory_int=|v_#memory_int_7|, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_2|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_4|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem9#1] {3479#(and (= ~x1~0 (+ ~x2~0 1)) (<= 0 ~x2~0))} is VALID [2022-02-20 20:58:11,616 INFO L290 TraceCheckUtils]: 49: Hoare triple {3479#(and (= ~x1~0 (+ ~x2~0 1)) (<= 0 ~x2~0))} [210] thread1EXIT-->L66-2: Formula: (and (= v_thread1Thread1of1ForFork0_thidvar1_4 0) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem9#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ (- 4294967296) .cse0))) v_thread1Thread1of1ForFork0_thidvar0_4)) InVars {thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_5|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4} OutVars{thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_5|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4} AuxVars[] AssignedVars[] {3479#(and (= ~x1~0 (+ ~x2~0 1)) (<= 0 ~x2~0))} is VALID [2022-02-20 20:58:11,616 INFO L290 TraceCheckUtils]: 50: Hoare triple {3479#(and (= ~x1~0 (+ ~x2~0 1)) (<= 0 ~x2~0))} [202] L50-->L50-1: Formula: (= v_~x2~0_3 |v_thread2Thread1of1ForFork1_#t~post2_1|) InVars {~x2~0=v_~x2~0_3} OutVars{~x2~0=v_~x2~0_3, thread2Thread1of1ForFork1_#t~post2=|v_thread2Thread1of1ForFork1_#t~post2_1|} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#t~post2] {3528#(and (<= 1 ~x1~0) (= |thread2Thread1of1ForFork1_#t~post2| (+ (- 1) ~x1~0)))} is VALID [2022-02-20 20:58:11,617 INFO L290 TraceCheckUtils]: 51: Hoare triple {3528#(and (<= 1 ~x1~0) (= |thread2Thread1of1ForFork1_#t~post2| (+ (- 1) ~x1~0)))} [204] L50-1-->L50-2: Formula: (= v_~x2~0_4 (+ |v_thread2Thread1of1ForFork1_#t~post2_3| 1)) InVars {thread2Thread1of1ForFork1_#t~post2=|v_thread2Thread1of1ForFork1_#t~post2_3|} OutVars{~x2~0=v_~x2~0_4, thread2Thread1of1ForFork1_#t~post2=|v_thread2Thread1of1ForFork1_#t~post2_3|} AuxVars[] AssignedVars[~x2~0] {3532#(and (<= 1 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:11,617 INFO L290 TraceCheckUtils]: 52: Hoare triple {3532#(and (<= 1 ~x1~0) (= ~x2~0 ~x1~0))} [151] L66-2-->L67: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem9#1] {3532#(and (<= 1 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:11,617 INFO L290 TraceCheckUtils]: 53: Hoare triple {3532#(and (<= 1 ~x1~0) (= ~x2~0 ~x1~0))} [166] L67-->L67-1: Formula: (= (select (select |v_#memory_int_8| |v_ULTIMATE.start_main_~#t2~0#1.base_4|) |v_ULTIMATE.start_main_~#t2~0#1.offset_4|) |v_ULTIMATE.start_main_#t~mem10#1_2|) InVars {#memory_int=|v_#memory_int_8|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_4|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} OutVars{#memory_int=|v_#memory_int_8|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_4|, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10#1] {3532#(and (<= 1 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:11,618 INFO L290 TraceCheckUtils]: 54: Hoare triple {3532#(and (<= 1 ~x1~0) (= ~x2~0 ~x1~0))} [205] L50-2-->L49-1: Formula: true InVars {} OutVars{thread2Thread1of1ForFork1_#t~post2=|v_thread2Thread1of1ForFork1_#t~post2_5|} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#t~post2] {3532#(and (<= 1 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:11,618 INFO L290 TraceCheckUtils]: 55: Hoare triple {3532#(and (<= 1 ~x1~0) (= ~x2~0 ~x1~0))} [199] L49-1-->L49-2: Formula: (not (< v_~x2~0_1 10000)) InVars {~x2~0=v_~x2~0_1} OutVars{~x2~0=v_~x2~0_1} AuxVars[] AssignedVars[] {3532#(and (<= 1 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:11,619 INFO L290 TraceCheckUtils]: 56: Hoare triple {3532#(and (<= 1 ~x1~0) (= ~x2~0 ~x1~0))} [201] L49-2-->thread2FINAL: Formula: (and (= |v_thread2Thread1of1ForFork1_#res.base_1| 0) (= |v_thread2Thread1of1ForFork1_#res.offset_1| 0)) InVars {} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_1|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_1|} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, thread2Thread1of1ForFork1_#res.base] {3532#(and (<= 1 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:11,619 INFO L290 TraceCheckUtils]: 57: Hoare triple {3532#(and (<= 1 ~x1~0) (= ~x2~0 ~x1~0))} [203] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3532#(and (<= 1 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:11,619 INFO L290 TraceCheckUtils]: 58: Hoare triple {3532#(and (<= 1 ~x1~0) (= ~x2~0 ~x1~0))} [211] thread2EXIT-->L67-2: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar2_4) (= 0 v_thread2Thread1of1ForFork1_thidvar1_4) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem10#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ .cse0 (- 4294967296)))) v_thread2Thread1of1ForFork1_thidvar0_4)) InVars {thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} OutVars{thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} AuxVars[] AssignedVars[] {3532#(and (<= 1 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:11,620 INFO L290 TraceCheckUtils]: 59: Hoare triple {3532#(and (<= 1 ~x1~0) (= ~x2~0 ~x1~0))} [120] L67-2-->L69: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10#1] {3532#(and (<= 1 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:11,620 INFO L290 TraceCheckUtils]: 60: Hoare triple {3532#(and (<= 1 ~x1~0) (= ~x2~0 ~x1~0))} [122] L69-->L69-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3532#(and (<= 1 ~x1~0) (= ~x2~0 ~x1~0))} is VALID [2022-02-20 20:58:11,620 INFO L290 TraceCheckUtils]: 61: Hoare triple {3532#(and (<= 1 ~x1~0) (= ~x2~0 ~x1~0))} [177] L69-1-->L69-2: Formula: (= (ite (not (= v_~x1~0_8 v_~x2~0_8)) 1 0) |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3|) InVars {~x2~0=v_~x2~0_8, ~x1~0=v_~x1~0_8} OutVars{~x2~0=v_~x2~0_8, ~x1~0=v_~x1~0_8, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] {3368#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} is VALID [2022-02-20 20:58:11,621 INFO L290 TraceCheckUtils]: 62: Hoare triple {3368#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} [139] L69-2-->L34-2: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_5|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {3368#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} is VALID [2022-02-20 20:58:11,621 INFO L290 TraceCheckUtils]: 63: Hoare triple {3368#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} [147] L34-2-->L35-3: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_6|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_6|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {3369#(= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0)} is VALID [2022-02-20 20:58:11,621 INFO L290 TraceCheckUtils]: 64: Hoare triple {3369#(= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0)} [114] L35-3-->L34-3: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_8| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_8|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_8|} AuxVars[] AssignedVars[] {3359#false} is VALID [2022-02-20 20:58:11,622 INFO L290 TraceCheckUtils]: 65: Hoare triple {3359#false} [124] L34-3-->L70: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3359#false} is VALID [2022-02-20 20:58:11,622 INFO L290 TraceCheckUtils]: 66: Hoare triple {3359#false} [185] L70-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3359#false} is VALID [2022-02-20 20:58:11,622 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 20:58:11,622 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 20:58:12,024 INFO L290 TraceCheckUtils]: 66: Hoare triple {3359#false} [185] L70-->ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3359#false} is VALID [2022-02-20 20:58:12,025 INFO L290 TraceCheckUtils]: 65: Hoare triple {3359#false} [124] L34-3-->L70: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3359#false} is VALID [2022-02-20 20:58:12,025 INFO L290 TraceCheckUtils]: 64: Hoare triple {3369#(= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0)} [114] L35-3-->L34-3: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_8| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_8|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_8|} AuxVars[] AssignedVars[] {3359#false} is VALID [2022-02-20 20:58:12,025 INFO L290 TraceCheckUtils]: 63: Hoare triple {3368#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} [147] L34-2-->L35-3: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_6|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_6|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {3369#(= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0)} is VALID [2022-02-20 20:58:12,026 INFO L290 TraceCheckUtils]: 62: Hoare triple {3368#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} [139] L69-2-->L34-2: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_5|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {3368#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} is VALID [2022-02-20 20:58:12,026 INFO L290 TraceCheckUtils]: 61: Hoare triple {3367#(and (<= ~x1~0 ~x2~0) (< ~x2~0 (+ ~x1~0 1)))} [177] L69-1-->L69-2: Formula: (= (ite (not (= v_~x1~0_8 v_~x2~0_8)) 1 0) |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3|) InVars {~x2~0=v_~x2~0_8, ~x1~0=v_~x1~0_8} OutVars{~x2~0=v_~x2~0_8, ~x1~0=v_~x1~0_8, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] {3368#(= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0)} is VALID [2022-02-20 20:58:12,027 INFO L290 TraceCheckUtils]: 60: Hoare triple {3367#(and (<= ~x1~0 ~x2~0) (< ~x2~0 (+ ~x1~0 1)))} [122] L69-->L69-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3367#(and (<= ~x1~0 ~x2~0) (< ~x2~0 (+ ~x1~0 1)))} is VALID [2022-02-20 20:58:12,027 INFO L290 TraceCheckUtils]: 59: Hoare triple {3367#(and (<= ~x1~0 ~x2~0) (< ~x2~0 (+ ~x1~0 1)))} [120] L67-2-->L69: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10#1] {3367#(and (<= ~x1~0 ~x2~0) (< ~x2~0 (+ ~x1~0 1)))} is VALID [2022-02-20 20:58:12,027 INFO L290 TraceCheckUtils]: 58: Hoare triple {3367#(and (<= ~x1~0 ~x2~0) (< ~x2~0 (+ ~x1~0 1)))} [211] thread2EXIT-->L67-2: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar2_4) (= 0 v_thread2Thread1of1ForFork1_thidvar1_4) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem10#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ .cse0 (- 4294967296)))) v_thread2Thread1of1ForFork1_thidvar0_4)) InVars {thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} OutVars{thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_4, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_5|, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_4, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_4} AuxVars[] AssignedVars[] {3367#(and (<= ~x1~0 ~x2~0) (< ~x2~0 (+ ~x1~0 1)))} is VALID [2022-02-20 20:58:12,028 INFO L290 TraceCheckUtils]: 57: Hoare triple {3367#(and (<= ~x1~0 ~x2~0) (< ~x2~0 (+ ~x1~0 1)))} [203] thread2FINAL-->thread2EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3367#(and (<= ~x1~0 ~x2~0) (< ~x2~0 (+ ~x1~0 1)))} is VALID [2022-02-20 20:58:12,028 INFO L290 TraceCheckUtils]: 56: Hoare triple {3367#(and (<= ~x1~0 ~x2~0) (< ~x2~0 (+ ~x1~0 1)))} [201] L49-2-->thread2FINAL: Formula: (and (= |v_thread2Thread1of1ForFork1_#res.base_1| 0) (= |v_thread2Thread1of1ForFork1_#res.offset_1| 0)) InVars {} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_1|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_1|} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, thread2Thread1of1ForFork1_#res.base] {3367#(and (<= ~x1~0 ~x2~0) (< ~x2~0 (+ ~x1~0 1)))} is VALID [2022-02-20 20:58:12,029 INFO L290 TraceCheckUtils]: 55: Hoare triple {3367#(and (<= ~x1~0 ~x2~0) (< ~x2~0 (+ ~x1~0 1)))} [199] L49-1-->L49-2: Formula: (not (< v_~x2~0_1 10000)) InVars {~x2~0=v_~x2~0_1} OutVars{~x2~0=v_~x2~0_1} AuxVars[] AssignedVars[] {3367#(and (<= ~x1~0 ~x2~0) (< ~x2~0 (+ ~x1~0 1)))} is VALID [2022-02-20 20:58:12,029 INFO L290 TraceCheckUtils]: 54: Hoare triple {3367#(and (<= ~x1~0 ~x2~0) (< ~x2~0 (+ ~x1~0 1)))} [205] L50-2-->L49-1: Formula: true InVars {} OutVars{thread2Thread1of1ForFork1_#t~post2=|v_thread2Thread1of1ForFork1_#t~post2_5|} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#t~post2] {3367#(and (<= ~x1~0 ~x2~0) (< ~x2~0 (+ ~x1~0 1)))} is VALID [2022-02-20 20:58:12,029 INFO L290 TraceCheckUtils]: 53: Hoare triple {3367#(and (<= ~x1~0 ~x2~0) (< ~x2~0 (+ ~x1~0 1)))} [166] L67-->L67-1: Formula: (= (select (select |v_#memory_int_8| |v_ULTIMATE.start_main_~#t2~0#1.base_4|) |v_ULTIMATE.start_main_~#t2~0#1.offset_4|) |v_ULTIMATE.start_main_#t~mem10#1_2|) InVars {#memory_int=|v_#memory_int_8|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_4|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} OutVars{#memory_int=|v_#memory_int_8|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_4|, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem10#1] {3367#(and (<= ~x1~0 ~x2~0) (< ~x2~0 (+ ~x1~0 1)))} is VALID [2022-02-20 20:58:12,030 INFO L290 TraceCheckUtils]: 52: Hoare triple {3367#(and (<= ~x1~0 ~x2~0) (< ~x2~0 (+ ~x1~0 1)))} [151] L66-2-->L67: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem9#1] {3367#(and (<= ~x1~0 ~x2~0) (< ~x2~0 (+ ~x1~0 1)))} is VALID [2022-02-20 20:58:12,030 INFO L290 TraceCheckUtils]: 51: Hoare triple {3623#(and (< |thread2Thread1of1ForFork1_#t~post2| ~x1~0) (<= ~x1~0 (+ |thread2Thread1of1ForFork1_#t~post2| 1)))} [204] L50-1-->L50-2: Formula: (= v_~x2~0_4 (+ |v_thread2Thread1of1ForFork1_#t~post2_3| 1)) InVars {thread2Thread1of1ForFork1_#t~post2=|v_thread2Thread1of1ForFork1_#t~post2_3|} OutVars{~x2~0=v_~x2~0_4, thread2Thread1of1ForFork1_#t~post2=|v_thread2Thread1of1ForFork1_#t~post2_3|} AuxVars[] AssignedVars[~x2~0] {3367#(and (<= ~x1~0 ~x2~0) (< ~x2~0 (+ ~x1~0 1)))} is VALID [2022-02-20 20:58:12,030 INFO L290 TraceCheckUtils]: 50: Hoare triple {3627#(and (< ~x2~0 ~x1~0) (<= ~x1~0 (+ ~x2~0 1)))} [202] L50-->L50-1: Formula: (= v_~x2~0_3 |v_thread2Thread1of1ForFork1_#t~post2_1|) InVars {~x2~0=v_~x2~0_3} OutVars{~x2~0=v_~x2~0_3, thread2Thread1of1ForFork1_#t~post2=|v_thread2Thread1of1ForFork1_#t~post2_1|} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#t~post2] {3623#(and (< |thread2Thread1of1ForFork1_#t~post2| ~x1~0) (<= ~x1~0 (+ |thread2Thread1of1ForFork1_#t~post2| 1)))} is VALID [2022-02-20 20:58:12,031 INFO L290 TraceCheckUtils]: 49: Hoare triple {3627#(and (< ~x2~0 ~x1~0) (<= ~x1~0 (+ ~x2~0 1)))} [210] thread1EXIT-->L66-2: Formula: (and (= v_thread1Thread1of1ForFork0_thidvar1_4 0) (= (let ((.cse0 (mod |v_ULTIMATE.start_main_#t~mem9#1_5| 4294967296))) (ite (<= .cse0 2147483647) .cse0 (+ (- 4294967296) .cse0))) v_thread1Thread1of1ForFork0_thidvar0_4)) InVars {thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_5|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4} OutVars{thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_4, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_5|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_4} AuxVars[] AssignedVars[] {3627#(and (< ~x2~0 ~x1~0) (<= ~x1~0 (+ ~x2~0 1)))} is VALID [2022-02-20 20:58:12,031 INFO L290 TraceCheckUtils]: 48: Hoare triple {3627#(and (< ~x2~0 ~x1~0) (<= ~x1~0 (+ ~x2~0 1)))} [138] L66-->L66-1: Formula: (= |v_ULTIMATE.start_main_#t~mem9#1_2| (select (select |v_#memory_int_7| |v_ULTIMATE.start_main_~#t1~0#1.base_4|) |v_ULTIMATE.start_main_~#t1~0#1.offset_4|)) InVars {#memory_int=|v_#memory_int_7|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_4|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_4|} OutVars{#memory_int=|v_#memory_int_7|, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_2|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_4|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem9#1] {3627#(and (< ~x2~0 ~x1~0) (<= ~x1~0 (+ ~x2~0 1)))} is VALID [2022-02-20 20:58:12,032 INFO L290 TraceCheckUtils]: 47: Hoare triple {3627#(and (< ~x2~0 ~x1~0) (<= ~x1~0 (+ ~x2~0 1)))} [130] L65-5-->L66: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet8#1=|v_ULTIMATE.start_main_#t~nondet8#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet8#1] {3627#(and (< ~x2~0 ~x1~0) (<= ~x1~0 (+ ~x2~0 1)))} is VALID [2022-02-20 20:58:12,032 INFO L290 TraceCheckUtils]: 46: Hoare triple {3627#(and (< ~x2~0 ~x1~0) (<= ~x1~0 (+ ~x2~0 1)))} [126] L65-4-->L65-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre7#1] {3627#(and (< ~x2~0 ~x1~0) (<= ~x1~0 (+ ~x2~0 1)))} is VALID [2022-02-20 20:58:12,032 INFO L290 TraceCheckUtils]: 45: Hoare triple {3627#(and (< ~x2~0 ~x1~0) (<= ~x1~0 (+ ~x2~0 1)))} [195] thread1FINAL-->thread1EXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3627#(and (< ~x2~0 ~x1~0) (<= ~x1~0 (+ ~x2~0 1)))} is VALID [2022-02-20 20:58:12,033 INFO L290 TraceCheckUtils]: 44: Hoare triple {3627#(and (< ~x2~0 ~x1~0) (<= ~x1~0 (+ ~x2~0 1)))} [193] L41-2-->thread1FINAL: Formula: (and (= |v_thread1Thread1of1ForFork0_#res.base_1| 0) (= |v_thread1Thread1of1ForFork0_#res.offset_1| 0)) InVars {} OutVars{thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_1|, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#res.offset] {3627#(and (< ~x2~0 ~x1~0) (<= ~x1~0 (+ ~x2~0 1)))} is VALID [2022-02-20 20:58:12,033 INFO L290 TraceCheckUtils]: 43: Hoare triple {3627#(and (< ~x2~0 ~x1~0) (<= ~x1~0 (+ ~x2~0 1)))} [191] L41-1-->L41-2: Formula: (not (< v_~x1~0_1 10000)) InVars {~x1~0=v_~x1~0_1} OutVars{~x1~0=v_~x1~0_1} AuxVars[] AssignedVars[] {3627#(and (< ~x2~0 ~x1~0) (<= ~x1~0 (+ ~x2~0 1)))} is VALID [2022-02-20 20:58:12,033 INFO L290 TraceCheckUtils]: 42: Hoare triple {3627#(and (< ~x2~0 ~x1~0) (<= ~x1~0 (+ ~x2~0 1)))} [200] L49-1-->L50: Formula: (< v_~x2~0_2 10000) InVars {~x2~0=v_~x2~0_2} OutVars{~x2~0=v_~x2~0_2} AuxVars[] AssignedVars[] {3627#(and (< ~x2~0 ~x1~0) (<= ~x1~0 (+ ~x2~0 1)))} is VALID [2022-02-20 20:58:12,034 INFO L290 TraceCheckUtils]: 41: Hoare triple {3627#(and (< ~x2~0 ~x1~0) (<= ~x1~0 (+ ~x2~0 1)))} [209] L65-3-->L49-1: Formula: (and (= 0 v_thread2Thread1of1ForFork1_thidvar1_2) (= |v_ULTIMATE.start_main_#t~pre7#1_6| v_thread2Thread1of1ForFork1_thidvar0_2) (= 0 v_thread2Thread1of1ForFork1_thidvar2_2)) InVars {ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_6|} OutVars{thread2Thread1of1ForFork1_#res.offset=|v_thread2Thread1of1ForFork1_#res.offset_4|, thread2Thread1of1ForFork1_#t~post2=|v_thread2Thread1of1ForFork1_#t~post2_8|, thread2Thread1of1ForFork1_#res.base=|v_thread2Thread1of1ForFork1_#res.base_4|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_6|, thread2Thread1of1ForFork1_thidvar2=v_thread2Thread1of1ForFork1_thidvar2_2, thread2Thread1of1ForFork1_thidvar0=v_thread2Thread1of1ForFork1_thidvar0_2, thread2Thread1of1ForFork1_thidvar1=v_thread2Thread1of1ForFork1_thidvar1_2} AuxVars[] AssignedVars[thread2Thread1of1ForFork1_#res.offset, thread2Thread1of1ForFork1_#t~post2, thread2Thread1of1ForFork1_#res.base, thread2Thread1of1ForFork1_thidvar2, thread2Thread1of1ForFork1_thidvar0, thread2Thread1of1ForFork1_thidvar1] {3627#(and (< ~x2~0 ~x1~0) (<= ~x1~0 (+ ~x2~0 1)))} is VALID [2022-02-20 20:58:12,034 INFO L290 TraceCheckUtils]: 40: Hoare triple {3627#(and (< ~x2~0 ~x1~0) (<= ~x1~0 (+ ~x2~0 1)))} [144] L65-2-->L65-3: Formula: (= (store |v_#memory_int_6| |v_ULTIMATE.start_main_~#t2~0#1.base_3| (store (select |v_#memory_int_6| |v_ULTIMATE.start_main_~#t2~0#1.base_3|) |v_ULTIMATE.start_main_~#t2~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre7#1_3|)) |v_#memory_int_5|) InVars {#memory_int=|v_#memory_int_6|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_3|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} OutVars{#memory_int=|v_#memory_int_5|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_3|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} AuxVars[] AssignedVars[#memory_int] {3627#(and (< ~x2~0 ~x1~0) (<= ~x1~0 (+ ~x2~0 1)))} is VALID [2022-02-20 20:58:12,035 INFO L290 TraceCheckUtils]: 39: Hoare triple {3627#(and (< ~x2~0 ~x1~0) (<= ~x1~0 (+ ~x2~0 1)))} [169] L65-1-->L65-2: Formula: (= (+ 1 |v_#pthreadsForks_6|) |v_#pthreadsForks_5|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_5|} AuxVars[] AssignedVars[#pthreadsForks] {3627#(and (< ~x2~0 ~x1~0) (<= ~x1~0 (+ ~x2~0 1)))} is VALID [2022-02-20 20:58:12,035 INFO L290 TraceCheckUtils]: 38: Hoare triple {3627#(and (< ~x2~0 ~x1~0) (<= ~x1~0 (+ ~x2~0 1)))} [188] L65-->L65-1: Formula: (= |v_ULTIMATE.start_main_#t~pre7#1_2| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{#pthreadsForks=|v_#pthreadsForks_4|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre7#1] {3627#(and (< ~x2~0 ~x1~0) (<= ~x1~0 (+ ~x2~0 1)))} is VALID [2022-02-20 20:58:12,035 INFO L290 TraceCheckUtils]: 37: Hoare triple {3627#(and (< ~x2~0 ~x1~0) (<= ~x1~0 (+ ~x2~0 1)))} [142] L64-5-->L65: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet6#1] {3627#(and (< ~x2~0 ~x1~0) (<= ~x1~0 (+ ~x2~0 1)))} is VALID [2022-02-20 20:58:12,036 INFO L290 TraceCheckUtils]: 36: Hoare triple {3627#(and (< ~x2~0 ~x1~0) (<= ~x1~0 (+ ~x2~0 1)))} [146] L64-4-->L64-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1] {3627#(and (< ~x2~0 ~x1~0) (<= ~x1~0 (+ ~x2~0 1)))} is VALID [2022-02-20 20:58:12,036 INFO L290 TraceCheckUtils]: 35: Hoare triple {3627#(and (< ~x2~0 ~x1~0) (<= ~x1~0 (+ ~x2~0 1)))} [197] L42-2-->L41-1: Formula: true InVars {} OutVars{thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_5|} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post1] {3627#(and (< ~x2~0 ~x1~0) (<= ~x1~0 (+ ~x2~0 1)))} is VALID [2022-02-20 20:58:12,037 INFO L290 TraceCheckUtils]: 34: Hoare triple {3676#(and (< ~x2~0 (+ |thread1Thread1of1ForFork0_#t~post1| 1)) (<= |thread1Thread1of1ForFork0_#t~post1| ~x2~0))} [196] L42-1-->L42-2: Formula: (= v_~x1~0_4 (+ |v_thread1Thread1of1ForFork0_#t~post1_3| 1)) InVars {thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_3|} OutVars{thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_3|, ~x1~0=v_~x1~0_4} AuxVars[] AssignedVars[~x1~0] {3627#(and (< ~x2~0 ~x1~0) (<= ~x1~0 (+ ~x2~0 1)))} is VALID [2022-02-20 20:58:12,037 INFO L290 TraceCheckUtils]: 33: Hoare triple {3367#(and (<= ~x1~0 ~x2~0) (< ~x2~0 (+ ~x1~0 1)))} [194] L42-->L42-1: Formula: (= v_~x1~0_3 |v_thread1Thread1of1ForFork0_#t~post1_1|) InVars {~x1~0=v_~x1~0_3} OutVars{thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_1|, ~x1~0=v_~x1~0_3} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post1] {3676#(and (< ~x2~0 (+ |thread1Thread1of1ForFork0_#t~post1| 1)) (<= |thread1Thread1of1ForFork0_#t~post1| ~x2~0))} is VALID [2022-02-20 20:58:12,037 INFO L290 TraceCheckUtils]: 32: Hoare triple {3367#(and (<= ~x1~0 ~x2~0) (< ~x2~0 (+ ~x1~0 1)))} [192] L41-1-->L42: Formula: (< v_~x1~0_2 10000) InVars {~x1~0=v_~x1~0_2} OutVars{~x1~0=v_~x1~0_2} AuxVars[] AssignedVars[] {3367#(and (<= ~x1~0 ~x2~0) (< ~x2~0 (+ ~x1~0 1)))} is VALID [2022-02-20 20:58:12,038 INFO L290 TraceCheckUtils]: 31: Hoare triple {3367#(and (<= ~x1~0 ~x2~0) (< ~x2~0 (+ ~x1~0 1)))} [207] L64-3-->L41-1: Formula: (and (= v_thread1Thread1of1ForFork0_thidvar1_2 0) (= |v_ULTIMATE.start_main_#t~pre5#1_6| v_thread1Thread1of1ForFork0_thidvar0_2)) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_6|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_6|, thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_4|, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_8|, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_2, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_4|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_2} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#t~post1, thread1Thread1of1ForFork0_thidvar0, thread1Thread1of1ForFork0_#res.offset, thread1Thread1of1ForFork0_thidvar1] {3367#(and (<= ~x1~0 ~x2~0) (< ~x2~0 (+ ~x1~0 1)))} is VALID [2022-02-20 20:58:12,038 INFO L290 TraceCheckUtils]: 30: Hoare triple {3367#(and (<= ~x1~0 ~x2~0) (< ~x2~0 (+ ~x1~0 1)))} [187] L64-2-->L64-3: Formula: (= (store |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3| (store (select |v_#memory_int_4| |v_ULTIMATE.start_main_~#t1~0#1.base_3|) |v_ULTIMATE.start_main_~#t1~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre5#1_3|)) |v_#memory_int_3|) InVars {ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_3|, #memory_int=|v_#memory_int_4|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_3|, #memory_int=|v_#memory_int_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_3|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_3|} AuxVars[] AssignedVars[#memory_int] {3367#(and (<= ~x1~0 ~x2~0) (< ~x2~0 (+ ~x1~0 1)))} is VALID [2022-02-20 20:58:12,038 INFO L290 TraceCheckUtils]: 29: Hoare triple {3367#(and (<= ~x1~0 ~x2~0) (< ~x2~0 (+ ~x1~0 1)))} [174] L64-1-->L64-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] {3367#(and (<= ~x1~0 ~x2~0) (< ~x2~0 (+ ~x1~0 1)))} is VALID [2022-02-20 20:58:12,039 INFO L290 TraceCheckUtils]: 28: Hoare triple {3367#(and (<= ~x1~0 ~x2~0) (< ~x2~0 (+ ~x1~0 1)))} [128] L64-->L64-1: Formula: (= |v_ULTIMATE.start_main_#t~pre5#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_2|, #pthreadsForks=|v_#pthreadsForks_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1] {3367#(and (<= ~x1~0 ~x2~0) (< ~x2~0 (+ ~x1~0 1)))} is VALID [2022-02-20 20:58:12,039 INFO L290 TraceCheckUtils]: 27: Hoare triple {3367#(and (<= ~x1~0 ~x2~0) (< ~x2~0 (+ ~x1~0 1)))} [158] L34-1-->L64: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3367#(and (<= ~x1~0 ~x2~0) (< ~x2~0 (+ ~x1~0 1)))} is VALID [2022-02-20 20:58:12,039 INFO L290 TraceCheckUtils]: 26: Hoare triple {3701#(or (and (<= ~x1~0 ~x2~0) (< ~x2~0 (+ ~x1~0 1))) (= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0))} [165] L35-->L34-1: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_4| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_4|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_4|} AuxVars[] AssignedVars[] {3367#(and (<= ~x1~0 ~x2~0) (< ~x2~0 (+ ~x1~0 1)))} is VALID [2022-02-20 20:58:12,040 INFO L290 TraceCheckUtils]: 25: Hoare triple {3705#(or (and (<= ~x1~0 ~x2~0) (< ~x2~0 (+ ~x1~0 1))) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0))} [132] L34-->L35: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_2|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_2|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {3701#(or (and (<= ~x1~0 ~x2~0) (< ~x2~0 (+ ~x1~0 1))) (= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0))} is VALID [2022-02-20 20:58:12,040 INFO L290 TraceCheckUtils]: 24: Hoare triple {3705#(or (and (<= ~x1~0 ~x2~0) (< ~x2~0 (+ ~x1~0 1))) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0))} [162] L61-2-->L34: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] {3705#(or (and (<= ~x1~0 ~x2~0) (< ~x2~0 (+ ~x1~0 1))) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0))} is VALID [2022-02-20 20:58:12,041 INFO L290 TraceCheckUtils]: 23: Hoare triple {3358#true} [154] L61-1-->L61-2: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1| (ite (and (<= 0 v_~x1~0_7) (= v_~x1~0_7 v_~x2~0_7)) 1 0)) InVars {~x2~0=v_~x2~0_7, ~x1~0=v_~x1~0_7} OutVars{~x2~0=v_~x2~0_7, ~x1~0=v_~x1~0_7, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] {3705#(or (and (<= ~x1~0 ~x2~0) (< ~x2~0 (+ ~x1~0 1))) (= |ULTIMATE.start_assume_abort_if_not_#in~cond#1| 0))} is VALID [2022-02-20 20:58:12,041 INFO L290 TraceCheckUtils]: 22: Hoare triple {3358#true} [109] L61-->L61-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3358#true} is VALID [2022-02-20 20:58:12,041 INFO L290 TraceCheckUtils]: 21: Hoare triple {3358#true} [129] L60-2-->L61: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet4#1] {3358#true} is VALID [2022-02-20 20:58:12,041 INFO L290 TraceCheckUtils]: 20: Hoare triple {3358#true} [143] L60-1-->L60-2: Formula: (= v_~x2~0_6 |v_ULTIMATE.start_main_#t~nondet4#1_3|) InVars {ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_3|} OutVars{~x2~0=v_~x2~0_6, ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_3|} AuxVars[] AssignedVars[~x2~0] {3358#true} is VALID [2022-02-20 20:58:12,041 INFO L290 TraceCheckUtils]: 19: Hoare triple {3358#true} [178] L60-->L60-1: Formula: (and (<= |v_ULTIMATE.start_main_#t~nondet4#1_2| 2147483647) (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet4#1_2| 2147483648))) InVars {ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_2|} OutVars{ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_2|} AuxVars[] AssignedVars[] {3358#true} is VALID [2022-02-20 20:58:12,041 INFO L290 TraceCheckUtils]: 18: Hoare triple {3358#true} [115] L59-1-->L60: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] {3358#true} is VALID [2022-02-20 20:58:12,041 INFO L290 TraceCheckUtils]: 17: Hoare triple {3358#true} [140] L59-->L59-1: Formula: (= v_~x1~0_6 |v_ULTIMATE.start_main_#t~nondet3#1_3|) InVars {ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_3|} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_3|, ~x1~0=v_~x1~0_6} AuxVars[] AssignedVars[~x1~0] {3358#true} is VALID [2022-02-20 20:58:12,041 INFO L290 TraceCheckUtils]: 16: Hoare triple {3358#true} [172] L57-2-->L59: Formula: (and (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet3#1_2| 2147483648)) (<= |v_ULTIMATE.start_main_#t~nondet3#1_2| 2147483647)) InVars {ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[] {3358#true} is VALID [2022-02-20 20:58:12,042 INFO L290 TraceCheckUtils]: 15: Hoare triple {3358#true} [121] L57-1-->L57-2: Formula: (and (= |v_#length_5| (store |v_#length_6| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 4)) (= (select |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2|) 0) (= (store |v_#valid_7| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 1) |v_#valid_6|) (not (= |v_ULTIMATE.start_main_~#t2~0#1.base_2| 0)) (= 0 |v_ULTIMATE.start_main_~#t2~0#1.offset_2|) (< |v_#StackHeapBarrier_3| |v_ULTIMATE.start_main_~#t2~0#1.base_2|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_6|, #valid=|v_#valid_7|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_5|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_2|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t2~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t2~0#1.base] {3358#true} is VALID [2022-02-20 20:58:12,042 INFO L290 TraceCheckUtils]: 14: Hoare triple {3358#true} [184] L57-->L57-1: Formula: (and (= |v_ULTIMATE.start_main_~#t1~0#1.offset_2| 0) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) 0) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) (= |v_#length_3| (store |v_#length_4| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 4)) (not (= |v_ULTIMATE.start_main_~#t1~0#1.base_2| 0)) (= (store |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 1) |v_#valid_4|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_4|, #valid=|v_#valid_5|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_2|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_2|, #valid=|v_#valid_4|} AuxVars[] AssignedVars[#valid, #length, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset] {3358#true} is VALID [2022-02-20 20:58:12,042 INFO L290 TraceCheckUtils]: 13: Hoare triple {3358#true} [155] L-1-6-->L57: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_1|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_1|, ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_1|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_1|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_1|, ULTIMATE.start_main_#t~mem10#1=|v_ULTIMATE.start_main_#t~mem10#1_1|, ULTIMATE.start_main_#t~pre5#1=|v_ULTIMATE.start_main_#t~pre5#1_1|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_#t~nondet8#1=|v_ULTIMATE.start_main_#t~nondet8#1_1|, ULTIMATE.start_main_#t~mem9#1=|v_ULTIMATE.start_main_#t~mem9#1_1|, ULTIMATE.start_main_#t~pre7#1=|v_ULTIMATE.start_main_#t~pre7#1_1|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre5#1, ULTIMATE.start_main_#t~nondet4#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_~#t2~0#1.offset, ULTIMATE.start_main_#t~nondet8#1, ULTIMATE.start_main_#t~nondet6#1, ULTIMATE.start_main_#t~mem9#1, ULTIMATE.start_main_#t~pre7#1, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset, ULTIMATE.start_main_#t~mem10#1, ULTIMATE.start_main_~#t2~0#1.base] {3358#true} is VALID [2022-02-20 20:58:12,042 INFO L290 TraceCheckUtils]: 12: Hoare triple {3358#true} [123] L-1-5-->L-1-6: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] {3358#true} is VALID [2022-02-20 20:58:12,042 INFO L290 TraceCheckUtils]: 11: Hoare triple {3358#true} [157] L-1-4-->L-1-5: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3358#true} is VALID [2022-02-20 20:58:12,042 INFO L290 TraceCheckUtils]: 10: Hoare triple {3358#true} [179] L-1-3-->L-1-4: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3358#true} is VALID [2022-02-20 20:58:12,042 INFO L290 TraceCheckUtils]: 9: Hoare triple {3358#true} [182] L38-->L-1-3: Formula: (= v_~x2~0_5 0) InVars {} OutVars{~x2~0=v_~x2~0_5} AuxVars[] AssignedVars[~x2~0] {3358#true} is VALID [2022-02-20 20:58:12,043 INFO L290 TraceCheckUtils]: 8: Hoare triple {3358#true} [181] L21-4-->L38: Formula: (= v_~x1~0_5 0) InVars {} OutVars{~x1~0=v_~x1~0_5} AuxVars[] AssignedVars[~x1~0] {3358#true} is VALID [2022-02-20 20:58:12,043 INFO L290 TraceCheckUtils]: 7: Hoare triple {3358#true} [125] L21-3-->L21-4: Formula: (and (= (select |v_#valid_3| 2) 1) (= (select |v_#length_2| 2) 17)) InVars {#length=|v_#length_2|, #valid=|v_#valid_3|} OutVars{#length=|v_#length_2|, #valid=|v_#valid_3|} AuxVars[] AssignedVars[] {3358#true} is VALID [2022-02-20 20:58:12,043 INFO L290 TraceCheckUtils]: 6: Hoare triple {3358#true} [161] L21-2-->L21-3: Formula: (= (select (select |v_#memory_int_2| 1) 1) 0) InVars {#memory_int=|v_#memory_int_2|} OutVars{#memory_int=|v_#memory_int_2|} AuxVars[] AssignedVars[] {3358#true} is VALID [2022-02-20 20:58:12,043 INFO L290 TraceCheckUtils]: 5: Hoare triple {3358#true} [163] L21-1-->L21-2: Formula: (= 48 (select (select |v_#memory_int_1| 1) 0)) InVars {#memory_int=|v_#memory_int_1|} OutVars{#memory_int=|v_#memory_int_1|} AuxVars[] AssignedVars[] {3358#true} is VALID [2022-02-20 20:58:12,043 INFO L290 TraceCheckUtils]: 4: Hoare triple {3358#true} [133] L21-->L21-1: Formula: (and (= (select |v_#valid_2| 1) 1) (= 2 (select |v_#length_1| 1))) InVars {#length=|v_#length_1|, #valid=|v_#valid_2|} OutVars{#length=|v_#length_1|, #valid=|v_#valid_2|} AuxVars[] AssignedVars[] {3358#true} is VALID [2022-02-20 20:58:12,043 INFO L290 TraceCheckUtils]: 3: Hoare triple {3358#true} [175] L-1-2-->L21: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] {3358#true} is VALID [2022-02-20 20:58:12,043 INFO L290 TraceCheckUtils]: 2: Hoare triple {3358#true} [173] 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[] {3358#true} is VALID [2022-02-20 20:58:12,043 INFO L290 TraceCheckUtils]: 1: Hoare triple {3358#true} [145] 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] {3358#true} is VALID [2022-02-20 20:58:12,043 INFO L290 TraceCheckUtils]: 0: Hoare triple {3358#true} [167] ULTIMATE.startENTRY-->L-1: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3358#true} is VALID [2022-02-20 20:58:12,044 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 20:58:12,044 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [640792881] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 20:58:12,044 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 20:58:12,044 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 11, 10] total 24 [2022-02-20 20:58:12,044 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [587236856] [2022-02-20 20:58:12,045 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 20:58:12,045 INFO L78 Accepts]: Start accepts. Automaton has has 24 states, 24 states have (on average 5.791666666666667) internal successors, (139), 24 states have internal predecessors, (139), 0 states have call successors, (0), 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 67 [2022-02-20 20:58:12,045 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 20:58:12,046 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 24 states, 24 states have (on average 5.791666666666667) internal successors, (139), 24 states have internal predecessors, (139), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:58:12,137 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 139 edges. 139 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 20:58:12,137 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 24 states [2022-02-20 20:58:12,137 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 20:58:12,138 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2022-02-20 20:58:12,138 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=70, Invalid=482, Unknown=0, NotChecked=0, Total=552 [2022-02-20 20:58:12,139 INFO L499 CegarLoopForPetriNet]: Number of universal loopers: 51 out of 84 [2022-02-20 20:58:12,140 INFO L92 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 97 places, 79 transitions, 340 flow. Second operand has 24 states, 24 states have (on average 53.583333333333336) internal successors, (1286), 24 states have internal predecessors, (1286), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:58:12,141 INFO L101 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2022-02-20 20:58:12,141 INFO L102 encePairwiseOnDemand]: Number of universal subtrahend loopers: 51 of 84 [2022-02-20 20:58:12,141 INFO L74 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2022-02-20 20:58:17,046 INFO L129 PetriNetUnfolder]: 174/547 cut-off events. [2022-02-20 20:58:17,046 INFO L130 PetriNetUnfolder]: For 1402/1402 co-relation queries the response was YES. [2022-02-20 20:58:17,048 INFO L84 FinitePrefix]: Finished finitePrefix Result has 1723 conditions, 547 events. 174/547 cut-off events. For 1402/1402 co-relation queries the response was YES. Maximal size of possible extension queue 41. Compared 2888 event pairs, 4 based on Foata normal form. 23/565 useless extension candidates. Maximal degree in co-relation 1706. Up to 84 conditions per place. [2022-02-20 20:58:17,050 INFO L132 encePairwiseOnDemand]: 65/84 looper letters, 113 selfloop transitions, 99 changer transitions 5/258 dead transitions. [2022-02-20 20:58:17,050 INFO L138 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 139 places, 258 transitions, 1774 flow [2022-02-20 20:58:17,050 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 44 states. [2022-02-20 20:58:17,050 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 44 states. [2022-02-20 20:58:17,070 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 2450 transitions. [2022-02-20 20:58:17,071 INFO L544 CegarLoopForPetriNet]: DFA transition density 0.6628787878787878 [2022-02-20 20:58:17,071 INFO L72 ComplementDD]: Start complementDD. Operand 44 states and 2450 transitions. [2022-02-20 20:58:17,071 INFO L73 IsDeterministic]: Start isDeterministic. Operand 44 states and 2450 transitions. [2022-02-20 20:58:17,072 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-02-20 20:58:17,072 INFO L117 ReachableStatesCopy]: Start reachableStatesCopy. Operand 44 states and 2450 transitions. [2022-02-20 20:58:17,077 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends has 45 states, 44 states have (on average 55.68181818181818) internal successors, (2450), 44 states have internal predecessors, (2450), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:58:17,080 INFO L131 ReachableStatesCopy]: Finished reachableStatesCopy Result has 45 states, 45 states have (on average 84.0) internal successors, (3780), 45 states have internal predecessors, (3780), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:58:17,081 INFO L81 ComplementDD]: Finished complementDD. Result has 45 states, 45 states have (on average 84.0) internal successors, (3780), 45 states have internal predecessors, (3780), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 20:58:17,081 INFO L186 Difference]: Start difference. First operand has 97 places, 79 transitions, 340 flow. Second operand 44 states and 2450 transitions. [2022-02-20 20:58:17,082 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 139 places, 258 transitions, 1774 flow