/usr/bin/java -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data -tc ../../../trunk/examples/toolchains/BuchiAutomizerCInline.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Termination-32bit-Automizer_Default.epf --buchiautomizer.fairness.type.for.concurrent.programs FAIRNESS_LAZY -i ../../../trunk/examples/svcomp/weaver/test-hard1.wvr.c -------------------------------------------------------------------------------- This is Ultimate 0.2.3-wip.me.fairness-42053ae-m [2023-09-08 15:14:43,420 INFO L172 SettingsManager]: Resetting all preferences to default values... [2023-09-08 15:14:43,492 INFO L100 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Termination-32bit-Automizer_Default.epf [2023-09-08 15:14:43,520 INFO L114 SettingsManager]: Preferences different from defaults after loading the file: [2023-09-08 15:14:43,521 INFO L135 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2023-09-08 15:14:43,521 INFO L137 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2023-09-08 15:14:43,522 INFO L135 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2023-09-08 15:14:43,523 INFO L137 SettingsManager]: * Create parallel compositions if possible=false [2023-09-08 15:14:43,523 INFO L137 SettingsManager]: * Use SBE=true [2023-09-08 15:14:43,523 INFO L135 SettingsManager]: Preferences of BuchiAutomizer differ from their defaults: [2023-09-08 15:14:43,524 INFO L137 SettingsManager]: * NCSB implementation=INTSET_LAZY3 [2023-09-08 15:14:43,524 INFO L137 SettingsManager]: * Use old map elimination=false [2023-09-08 15:14:43,524 INFO L137 SettingsManager]: * Use external solver (rank synthesis)=false [2023-09-08 15:14:43,525 INFO L137 SettingsManager]: * Use only trivial implications for array writes=true [2023-09-08 15:14:43,525 INFO L137 SettingsManager]: * Rank analysis=LINEAR_WITH_GUESSES [2023-09-08 15:14:43,525 INFO L135 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2023-09-08 15:14:43,526 INFO L137 SettingsManager]: * sizeof long=4 [2023-09-08 15:14:43,526 INFO L137 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2023-09-08 15:14:43,526 INFO L137 SettingsManager]: * Overapproximate operations on floating types=true [2023-09-08 15:14:43,527 INFO L137 SettingsManager]: * sizeof POINTER=4 [2023-09-08 15:14:43,527 INFO L137 SettingsManager]: * Check division by zero=IGNORE [2023-09-08 15:14:43,530 INFO L137 SettingsManager]: * Pointer to allocated memory at dereference=ASSUME [2023-09-08 15:14:43,531 INFO L137 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=ASSUME [2023-09-08 15:14:43,531 INFO L137 SettingsManager]: * Check array bounds for arrays that are off heap=ASSUME [2023-09-08 15:14:43,534 INFO L137 SettingsManager]: * sizeof long double=12 [2023-09-08 15:14:43,534 INFO L137 SettingsManager]: * Check if freed pointer was valid=false [2023-09-08 15:14:43,535 INFO L137 SettingsManager]: * Assume nondeterminstic values are in range=false [2023-09-08 15:14:43,535 INFO L137 SettingsManager]: * Use constant arrays=true [2023-09-08 15:14:43,535 INFO L137 SettingsManager]: * Pointer base address is valid at dereference=ASSUME [2023-09-08 15:14:43,535 INFO L135 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2023-09-08 15:14:43,536 INFO L137 SettingsManager]: * Size of a code block=SequenceOfStatements [2023-09-08 15:14:43,536 INFO L135 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2023-09-08 15:14:43,537 INFO L137 SettingsManager]: * Trace refinement strategy=CAMEL [2023-09-08 15:14:43,537 INFO L137 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2023-09-08 15:14:43,538 INFO L135 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2023-09-08 15:14:43,538 INFO L137 SettingsManager]: * TransformationType=MODULO_NEIGHBOR 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.buchiautomizer: Fairness type for concurrent programs -> FAIRNESS_LAZY [2023-09-08 15:14:43,762 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2023-09-08 15:14:43,788 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2023-09-08 15:14:43,790 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2023-09-08 15:14:43,791 INFO L270 PluginConnector]: Initializing CDTParser... [2023-09-08 15:14:43,791 INFO L274 PluginConnector]: CDTParser initialized [2023-09-08 15:14:43,792 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/weaver/test-hard1.wvr.c [2023-09-08 15:14:44,920 INFO L533 CDTParser]: Created temporary CDT project at NULL [2023-09-08 15:14:45,112 INFO L384 CDTParser]: Found 1 translation units. [2023-09-08 15:14:45,112 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/weaver/test-hard1.wvr.c [2023-09-08 15:14:45,121 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/113305e8b/2e959eda44e04ed2b673c2973192d286/FLAG353894cf9 [2023-09-08 15:14:45,133 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/113305e8b/2e959eda44e04ed2b673c2973192d286 [2023-09-08 15:14:45,135 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2023-09-08 15:14:45,136 INFO L133 ToolchainWalker]: Walking toolchain with 5 elements. [2023-09-08 15:14:45,137 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2023-09-08 15:14:45,137 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2023-09-08 15:14:45,142 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2023-09-08 15:14:45,144 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.09 03:14:45" (1/1) ... [2023-09-08 15:14:45,145 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@5cb684ee and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.09 03:14:45, skipping insertion in model container [2023-09-08 15:14:45,145 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.09 03:14:45" (1/1) ... [2023-09-08 15:14:45,150 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2023-09-08 15:14:45,166 INFO L178 MainTranslator]: Built tables and reachable declarations [2023-09-08 15:14:45,296 WARN L247 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/weaver/test-hard1.wvr.c[3373,3386] [2023-09-08 15:14:45,298 INFO L209 PostProcessor]: Analyzing one entry point: main [2023-09-08 15:14:45,307 INFO L203 MainTranslator]: Completed pre-run [2023-09-08 15:14:45,327 WARN L247 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/weaver/test-hard1.wvr.c[3373,3386] [2023-09-08 15:14:45,328 INFO L209 PostProcessor]: Analyzing one entry point: main [2023-09-08 15:14:45,335 WARN L667 CHandler]: The function __VERIFIER_atomic_begin is called, but not defined or handled by StandardFunctionHandler. [2023-09-08 15:14:45,335 WARN L667 CHandler]: The function __VERIFIER_atomic_end is called, but not defined or handled by StandardFunctionHandler. [2023-09-08 15:14:45,340 INFO L208 MainTranslator]: Completed translation [2023-09-08 15:14:45,340 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.09 03:14:45 WrapperNode [2023-09-08 15:14:45,340 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2023-09-08 15:14:45,341 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2023-09-08 15:14:45,341 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2023-09-08 15:14:45,342 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2023-09-08 15:14:45,347 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.09 03:14:45" (1/1) ... [2023-09-08 15:14:45,354 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.09 03:14:45" (1/1) ... [2023-09-08 15:14:45,372 INFO L138 Inliner]: procedures = 24, calls = 56, calls flagged for inlining = 4, calls inlined = 4, statements flattened = 96 [2023-09-08 15:14:45,372 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2023-09-08 15:14:45,373 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2023-09-08 15:14:45,373 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2023-09-08 15:14:45,373 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2023-09-08 15:14:45,380 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.09 03:14:45" (1/1) ... [2023-09-08 15:14:45,380 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.09 03:14:45" (1/1) ... [2023-09-08 15:14:45,383 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.09 03:14:45" (1/1) ... [2023-09-08 15:14:45,383 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.09 03:14:45" (1/1) ... [2023-09-08 15:14:45,390 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.09 03:14:45" (1/1) ... [2023-09-08 15:14:45,393 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.09 03:14:45" (1/1) ... [2023-09-08 15:14:45,395 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.09 03:14:45" (1/1) ... [2023-09-08 15:14:45,396 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.09 03:14:45" (1/1) ... [2023-09-08 15:14:45,399 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2023-09-08 15:14:45,399 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2023-09-08 15:14:45,399 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2023-09-08 15:14:45,400 INFO L274 PluginConnector]: RCFGBuilder initialized [2023-09-08 15:14:45,400 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.09 03:14:45" (1/1) ... [2023-09-08 15:14:45,409 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2023-09-08 15:14:45,418 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2023-09-08 15:14:45,436 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2023-09-08 15:14:45,460 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (1)] Waiting until timeout for monitored process [2023-09-08 15:14:45,474 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2023-09-08 15:14:45,474 INFO L130 BoogieDeclarations]: Found specification of procedure thread1 [2023-09-08 15:14:45,474 INFO L138 BoogieDeclarations]: Found implementation of procedure thread1 [2023-09-08 15:14:45,474 INFO L130 BoogieDeclarations]: Found specification of procedure thread2 [2023-09-08 15:14:45,474 INFO L138 BoogieDeclarations]: Found implementation of procedure thread2 [2023-09-08 15:14:45,474 INFO L130 BoogieDeclarations]: Found specification of procedure thread3 [2023-09-08 15:14:45,474 INFO L138 BoogieDeclarations]: Found implementation of procedure thread3 [2023-09-08 15:14:45,475 INFO L130 BoogieDeclarations]: Found specification of procedure thread4 [2023-09-08 15:14:45,475 INFO L138 BoogieDeclarations]: Found implementation of procedure thread4 [2023-09-08 15:14:45,475 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2023-09-08 15:14:45,475 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2023-09-08 15:14:45,475 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2023-09-08 15:14:45,475 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2023-09-08 15:14:45,475 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2023-09-08 15:14:45,475 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2023-09-08 15:14:45,475 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2023-09-08 15:14:45,476 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2023-09-08 15:14:45,476 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2023-09-08 15:14:45,477 WARN L210 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to OneNontrivialStatement [2023-09-08 15:14:45,560 INFO L236 CfgBuilder]: Building ICFG [2023-09-08 15:14:45,562 INFO L262 CfgBuilder]: Building CFG for each procedure with an implementation [2023-09-08 15:14:45,820 INFO L277 CfgBuilder]: Performing block encoding [2023-09-08 15:14:45,880 INFO L297 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2023-09-08 15:14:45,880 INFO L302 CfgBuilder]: Removed 4 assume(true) statements. [2023-09-08 15:14:45,882 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.09 03:14:45 BoogieIcfgContainer [2023-09-08 15:14:45,883 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2023-09-08 15:14:45,883 INFO L112 PluginConnector]: ------------------------BuchiAutomizer---------------------------- [2023-09-08 15:14:45,884 INFO L270 PluginConnector]: Initializing BuchiAutomizer... [2023-09-08 15:14:45,888 INFO L274 PluginConnector]: BuchiAutomizer initialized [2023-09-08 15:14:45,889 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2023-09-08 15:14:45,889 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "CDTParser AST 08.09 03:14:45" (1/3) ... [2023-09-08 15:14:45,890 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@4a3b7e98 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 08.09 03:14:45, skipping insertion in model container [2023-09-08 15:14:45,890 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2023-09-08 15:14:45,890 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.09 03:14:45" (2/3) ... [2023-09-08 15:14:45,890 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@4a3b7e98 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 08.09 03:14:45, skipping insertion in model container [2023-09-08 15:14:45,890 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2023-09-08 15:14:45,891 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.09 03:14:45" (3/3) ... [2023-09-08 15:14:45,892 INFO L332 chiAutomizerObserver]: Analyzing ICFG test-hard1.wvr.c [2023-09-08 15:14:45,979 INFO L144 ThreadInstanceAdder]: Constructed 4 joinOtherThreadTransitions. [2023-09-08 15:14:46,005 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 132 places, 133 transitions, 298 flow [2023-09-08 15:14:46,068 INFO L124 PetriNetUnfolderBase]: 10/125 cut-off events. [2023-09-08 15:14:46,068 INFO L125 PetriNetUnfolderBase]: For 4/4 co-relation queries the response was YES. [2023-09-08 15:14:46,074 INFO L83 FinitePrefix]: Finished finitePrefix Result has 142 conditions, 125 events. 10/125 cut-off events. For 4/4 co-relation queries the response was YES. Maximal size of possible extension queue 3. Compared 71 event pairs, 0 based on Foata normal form. 0/115 useless extension candidates. Maximal degree in co-relation 90. Up to 2 conditions per place. [2023-09-08 15:14:46,075 INFO L82 GeneralOperation]: Start removeDead. Operand has 132 places, 133 transitions, 298 flow [2023-09-08 15:14:46,081 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 128 places, 125 transitions, 274 flow [2023-09-08 15:14:46,093 INFO L303 stractBuchiCegarLoop]: Interprodecural is true [2023-09-08 15:14:46,094 INFO L304 stractBuchiCegarLoop]: Hoare is false [2023-09-08 15:14:46,094 INFO L305 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2023-09-08 15:14:46,094 INFO L306 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2023-09-08 15:14:46,094 INFO L307 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2023-09-08 15:14:46,094 INFO L308 stractBuchiCegarLoop]: Difference is false [2023-09-08 15:14:46,094 INFO L309 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2023-09-08 15:14:46,094 INFO L313 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2023-09-08 15:14:46,096 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand null [2023-09-08 15:15:17,733 INFO L131 ngComponentsAnalysis]: Automaton has 15 accepting balls. 2145 [2023-09-08 15:15:17,734 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-08 15:15:17,734 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-08 15:15:17,760 INFO L148 hiAutomatonCegarLoop]: Counterexample stem 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] [2023-09-08 15:15:17,761 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2023-09-08 15:15:17,761 INFO L335 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2023-09-08 15:15:17,761 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand null [2023-09-08 15:15:40,830 INFO L131 ngComponentsAnalysis]: Automaton has 15 accepting balls. 2145 [2023-09-08 15:15:40,831 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-09-08 15:15:40,831 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-09-08 15:15:40,846 INFO L148 hiAutomatonCegarLoop]: Counterexample stem 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] [2023-09-08 15:15:40,846 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2023-09-08 15:15:40,860 INFO L748 eck$LassoCheckResult]: Stem: SleepPredicate [underlying: 135#[$Ultimate##0]don't care, sleep set: []] [241] $Ultimate##0-->L-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] SleepPredicate [underlying: 138#[L-1]don't care, sleep set: []] [253] L-1-->L-1-1: Formula: (= (select |v_#valid_17| 0) 0) InVars {#valid=|v_#valid_17|} OutVars{#valid=|v_#valid_17|} AuxVars[] AssignedVars[] SleepPredicate [underlying: 140#[L-1-1]don't care, sleep set: []] [335] L-1-1-->L21: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] SleepPredicate [underlying: 142#[L21]don't care, sleep set: []] [306] L21-->L21-1: Formula: (and (= (select |v_#length_9| 1) 2) (= 1 (select |v_#valid_18| 1))) InVars {#length=|v_#length_9|, #valid=|v_#valid_18|} OutVars{#length=|v_#length_9|, #valid=|v_#valid_18|} AuxVars[] AssignedVars[] SleepPredicate [underlying: 144#[L21-1]don't care, sleep set: []] [323] L21-1-->L21-2: Formula: (= 48 (select (select |v_#memory_int_13| 1) 0)) InVars {#memory_int=|v_#memory_int_13|} OutVars{#memory_int=|v_#memory_int_13|} AuxVars[] AssignedVars[] SleepPredicate [underlying: 146#[L21-2]don't care, sleep set: []] [264] L21-2-->L21-3: Formula: (= (select (select |v_#memory_int_14| 1) 1) 0) InVars {#memory_int=|v_#memory_int_14|} OutVars{#memory_int=|v_#memory_int_14|} AuxVars[] AssignedVars[] SleepPredicate [underlying: 148#[L21-3]don't care, sleep set: []] [300] L21-3-->L21-4: Formula: (and (= (select |v_#valid_19| 2) 1) (= (select |v_#length_10| 2) 17)) InVars {#length=|v_#length_10|, #valid=|v_#valid_19|} OutVars{#length=|v_#length_10|, #valid=|v_#valid_19|} AuxVars[] AssignedVars[] SleepPredicate [underlying: 150#[L21-4]don't care, sleep set: []] [285] L21-4-->L39: Formula: (= v_~p1~0_7 0) InVars {} OutVars{~p1~0=v_~p1~0_7} AuxVars[] AssignedVars[~p1~0] SleepPredicate [underlying: 152#[L39]don't care, sleep set: []] [324] L39-->L39-1: Formula: (= v_~p2~0_7 0) InVars {} OutVars{~p2~0=v_~p2~0_7} AuxVars[] AssignedVars[~p2~0] SleepPredicate [underlying: 154#[L39-1]don't care, sleep set: []] [303] L39-1-->L40: Formula: (= v_~m~0_6 0) InVars {} OutVars{~m~0=v_~m~0_6} AuxVars[] AssignedVars[~m~0] SleepPredicate [underlying: 156#[L40]don't care, sleep set: []] [309] L40-->L40-1: Formula: (= v_~n1~0_14 0) InVars {} OutVars{~n1~0=v_~n1~0_14} AuxVars[] AssignedVars[~n1~0] SleepPredicate [underlying: 158#[L40-1]don't care, sleep set: []] [279] L40-1-->L-1-2: Formula: (= v_~n2~0_15 0) InVars {} OutVars{~n2~0=v_~n2~0_15} AuxVars[] AssignedVars[~n2~0] SleepPredicate [underlying: 160#[L-1-2]don't care, sleep set: []] [337] L-1-2-->L-1-3: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] SleepPredicate [underlying: 162#[L-1-3]don't care, sleep set: []] [340] L-1-3-->L119: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_1|, ULTIMATE.start_main_#t~nondet9#1=|v_ULTIMATE.start_main_#t~nondet9#1_2|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_5|, ULTIMATE.start_main_~#t3~0#1.offset=|v_ULTIMATE.start_main_~#t3~0#1.offset_5|, ULTIMATE.start_main_#t~mem18#1=|v_ULTIMATE.start_main_#t~mem18#1_3|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_4|, ULTIMATE.start_main_~#t3~0#1.base=|v_ULTIMATE.start_main_~#t3~0#1.base_5|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_5|, ULTIMATE.start_main_#t~pre12#1=|v_ULTIMATE.start_main_#t~pre12#1_4|, ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_1|, ULTIMATE.start_main_#t~mem17#1=|v_ULTIMATE.start_main_#t~mem17#1_3|, ULTIMATE.start_main_#t~nondet13#1=|v_ULTIMATE.start_main_#t~nondet13#1_2|, ULTIMATE.start_main_~#t4~0#1.base=|v_ULTIMATE.start_main_~#t4~0#1.base_5|, ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_4|, ULTIMATE.start_main_#t~mem16#1=|v_ULTIMATE.start_main_#t~mem16#1_3|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_5|, ULTIMATE.start_main_#t~mem19#1=|v_ULTIMATE.start_main_#t~mem19#1_3|, ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_2|, ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_1|, ULTIMATE.start_main_#t~pre14#1=|v_ULTIMATE.start_main_#t~pre14#1_4|, ULTIMATE.start_main_#t~nondet7#1=|v_ULTIMATE.start_main_#t~nondet7#1_4|, ULTIMATE.start_main_#t~pre10#1=|v_ULTIMATE.start_main_#t~pre10#1_4|, ULTIMATE.start_main_~#t4~0#1.offset=|v_ULTIMATE.start_main_~#t4~0#1.offset_5|, ULTIMATE.start_main_#t~nondet15#1=|v_ULTIMATE.start_main_#t~nondet15#1_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_5|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet4#1, ULTIMATE.start_main_#t~nondet9#1, ULTIMATE.start_main_~#t2~0#1.offset, ULTIMATE.start_main_~#t3~0#1.offset, ULTIMATE.start_main_#t~mem18#1, ULTIMATE.start_main_#t~pre8#1, ULTIMATE.start_main_~#t3~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset, ULTIMATE.start_main_#t~pre12#1, ULTIMATE.start_main_#t~nondet5#1, ULTIMATE.start_main_#t~mem17#1, ULTIMATE.start_main_#t~nondet13#1, ULTIMATE.start_main_~#t4~0#1.base, ULTIMATE.start_main_#t~nondet6#1, ULTIMATE.start_main_#t~mem16#1, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_#t~mem19#1, ULTIMATE.start_main_#t~nondet11#1, ULTIMATE.start_main_#t~nondet3#1, ULTIMATE.start_main_#t~pre14#1, ULTIMATE.start_main_#t~nondet7#1, ULTIMATE.start_main_#t~pre10#1, ULTIMATE.start_main_~#t4~0#1.offset, ULTIMATE.start_main_#t~nondet15#1, ULTIMATE.start_main_~#t2~0#1.base] SleepPredicate [underlying: 164#[L119]don't care, sleep set: []] [328] L119-->L119-1: Formula: (and (= |v_ULTIMATE.start_main_~#t1~0#1.offset_6| 0) (not (= |v_ULTIMATE.start_main_~#t1~0#1.base_6| 0)) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t1~0#1.base_6|) (= (store |v_#valid_21| |v_ULTIMATE.start_main_~#t1~0#1.base_6| 1) |v_#valid_20|) (= (store |v_#length_12| |v_ULTIMATE.start_main_~#t1~0#1.base_6| 4) |v_#length_11|) (= (select |v_#valid_21| |v_ULTIMATE.start_main_~#t1~0#1.base_6|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_12|, #valid=|v_#valid_21|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_11|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_6|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_6|, #valid=|v_#valid_20|} AuxVars[] AssignedVars[#valid, #length, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset] SleepPredicate [underlying: 166#[L119-1]don't care, sleep set: []] [240] L119-1-->L119-2: Formula: (and (= (select |v_#valid_23| |v_ULTIMATE.start_main_~#t2~0#1.base_6|) 0) (= (store |v_#valid_23| |v_ULTIMATE.start_main_~#t2~0#1.base_6| 1) |v_#valid_22|) (not (= |v_ULTIMATE.start_main_~#t2~0#1.base_6| 0)) (= |v_#length_13| (store |v_#length_14| |v_ULTIMATE.start_main_~#t2~0#1.base_6| 4)) (< |v_#StackHeapBarrier_3| |v_ULTIMATE.start_main_~#t2~0#1.base_6|) (= 0 |v_ULTIMATE.start_main_~#t2~0#1.offset_6|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_14|, #valid=|v_#valid_23|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_13|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_6|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_6|, #valid=|v_#valid_22|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t2~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t2~0#1.base] SleepPredicate [underlying: 168#[L119-2]don't care, sleep set: []] [260] L119-2-->L119-3: Formula: (and (= (store |v_#length_16| |v_ULTIMATE.start_main_~#t3~0#1.base_6| 4) |v_#length_15|) (= |v_ULTIMATE.start_main_~#t3~0#1.offset_6| 0) (= (select |v_#valid_25| |v_ULTIMATE.start_main_~#t3~0#1.base_6|) 0) (= (store |v_#valid_25| |v_ULTIMATE.start_main_~#t3~0#1.base_6| 1) |v_#valid_24|) (< |v_#StackHeapBarrier_4| |v_ULTIMATE.start_main_~#t3~0#1.base_6|) (not (= |v_ULTIMATE.start_main_~#t3~0#1.base_6| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_4|, #length=|v_#length_16|, #valid=|v_#valid_25|} OutVars{ULTIMATE.start_main_~#t3~0#1.base=|v_ULTIMATE.start_main_~#t3~0#1.base_6|, #StackHeapBarrier=|v_#StackHeapBarrier_4|, #length=|v_#length_15|, ULTIMATE.start_main_~#t3~0#1.offset=|v_ULTIMATE.start_main_~#t3~0#1.offset_6|, #valid=|v_#valid_24|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t3~0#1.offset, #valid, ULTIMATE.start_main_~#t3~0#1.base, #length] SleepPredicate [underlying: 170#[L119-3]don't care, sleep set: []] [311] L119-3-->L119-4: Formula: (and (= (store |v_#length_18| |v_ULTIMATE.start_main_~#t4~0#1.base_6| 4) |v_#length_17|) (= (select |v_#valid_27| |v_ULTIMATE.start_main_~#t4~0#1.base_6|) 0) (< |v_#StackHeapBarrier_5| |v_ULTIMATE.start_main_~#t4~0#1.base_6|) (= |v_ULTIMATE.start_main_~#t4~0#1.offset_6| 0) (not (= |v_ULTIMATE.start_main_~#t4~0#1.base_6| 0)) (= (store |v_#valid_27| |v_ULTIMATE.start_main_~#t4~0#1.base_6| 1) |v_#valid_26|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_5|, #length=|v_#length_18|, #valid=|v_#valid_27|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_5|, #length=|v_#length_17|, ULTIMATE.start_main_~#t4~0#1.offset=|v_ULTIMATE.start_main_~#t4~0#1.offset_6|, ULTIMATE.start_main_~#t4~0#1.base=|v_ULTIMATE.start_main_~#t4~0#1.base_6|, #valid=|v_#valid_26|} AuxVars[] AssignedVars[#valid, #length, ULTIMATE.start_main_~#t4~0#1.offset, ULTIMATE.start_main_~#t4~0#1.base] SleepPredicate [underlying: 172#[L119-4]don't care, sleep set: []] [289] L119-4-->L121: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet3#1=|v_ULTIMATE.start_main_#t~nondet3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet3#1] SleepPredicate [underlying: 174#[L121]don't care, sleep set: []] [238] L121-->L121-1: Formula: (= v_~p1~0_8 |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|, ~p1~0=v_~p1~0_8} AuxVars[] AssignedVars[~p1~0] SleepPredicate [underlying: 176#[L121-1]don't care, sleep set: []] [312] L121-1-->L122: 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] SleepPredicate [underlying: 178#[L122]don't care, sleep set: []] [265] L122-->L122-1: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet4#1] SleepPredicate [underlying: 180#[L122-1]don't care, sleep set: []] [256] L122-1-->L122-2: Formula: (= v_~p2~0_8 |v_ULTIMATE.start_main_#t~nondet4#1_3|) InVars {ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_3|} OutVars{ULTIMATE.start_main_#t~nondet4#1=|v_ULTIMATE.start_main_#t~nondet4#1_3|, ~p2~0=v_~p2~0_8} AuxVars[] AssignedVars[~p2~0] SleepPredicate [underlying: 182#[L122-2]don't care, sleep set: []] [314] L122-2-->L123: 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] SleepPredicate [underlying: 184#[L123]don't care, sleep set: []] [231] L123-->L123-1: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet5#1] SleepPredicate [underlying: 186#[L123-1]don't care, sleep set: []] [243] L123-1-->L123-2: Formula: (= |v_ULTIMATE.start_main_#t~nondet5#1_3| v_~n1~0_15) InVars {ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_3|} OutVars{~n1~0=v_~n1~0_15, ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_3|} AuxVars[] AssignedVars[~n1~0] SleepPredicate [underlying: 188#[L123-2]don't care, sleep set: []] [258] L123-2-->L124: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet5#1=|v_ULTIMATE.start_main_#t~nondet5#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet5#1] SleepPredicate [underlying: 190#[L124]don't care, sleep set: []] [296] L124-->L124-1: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet6#1] SleepPredicate [underlying: 192#[L124-1]don't care, sleep set: []] [251] L124-1-->L124-2: Formula: (= |v_ULTIMATE.start_main_#t~nondet6#1_2| v_~n2~0_13) InVars {ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_2|} OutVars{~n2~0=v_~n2~0_13, ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_2|} AuxVars[] AssignedVars[~n2~0] SleepPredicate [underlying: 194#[L124-2]don't care, sleep set: []] [281] L124-2-->L125: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet6#1=|v_ULTIMATE.start_main_#t~nondet6#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet6#1] SleepPredicate [underlying: 196#[L125]don't care, sleep set: []] [301] L125-->L125-1: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet7#1=|v_ULTIMATE.start_main_#t~nondet7#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet7#1] SleepPredicate [underlying: 198#[L125-1]don't care, sleep set: []] [230] L125-1-->L125-2: Formula: (= |v_ULTIMATE.start_main_#t~nondet7#1_2| v_~m~0_5) InVars {ULTIMATE.start_main_#t~nondet7#1=|v_ULTIMATE.start_main_#t~nondet7#1_2|} OutVars{~m~0=v_~m~0_5, ULTIMATE.start_main_#t~nondet7#1=|v_ULTIMATE.start_main_#t~nondet7#1_2|} AuxVars[] AssignedVars[~m~0] SleepPredicate [underlying: 200#[L125-2]don't care, sleep set: []] [295] L125-2-->L126: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet7#1=|v_ULTIMATE.start_main_#t~nondet7#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet7#1] SleepPredicate [underlying: 202#[L126]don't care, sleep set: []] [287] L126-->L126-1: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1| (ite (and (= v_~n1~0_13 v_~n2~0_14) (= (mod v_~p2~0_5 4294967296) (mod v_~p1~0_5 4294967296))) 1 0)) InVars {~p2~0=v_~p2~0_5, ~n2~0=v_~n2~0_14, ~p1~0=v_~p1~0_5, ~n1~0=v_~n1~0_13} OutVars{~p2~0=v_~p2~0_5, ~n2~0=v_~n2~0_14, ~p1~0=v_~p1~0_5, ~n1~0=v_~n1~0_13, 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] SleepPredicate [underlying: 204#[L126-1]don't care, sleep set: []] [267] L126-1-->L35: 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] SleepPredicate [underlying: 206#[L35]don't care, sleep set: []] [325] L35-->L36: 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] SleepPredicate [underlying: 208#[L36]don't care, sleep set: []] [334] L36-->L35-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[] SleepPredicate [underlying: 212#[L35-1]don't care, sleep set: []] [318] L35-1-->L129: Formula: (= |v_ULTIMATE.start_main_#t~pre8#1_1| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre8#1] SleepPredicate [underlying: 214#[L129]don't care, sleep set: []] [319] L129-->L129-1: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] SleepPredicate [underlying: 216#[L129-1]don't care, sleep set: []] [255] L129-1-->L129-2: Formula: (and (= (store |v_#memory_int_2| |v_ULTIMATE.start_main_~#t1~0#1.base_1| (store (select |v_#memory_int_2| |v_ULTIMATE.start_main_~#t1~0#1.base_1|) |v_ULTIMATE.start_main_~#t1~0#1.offset_1| |v_ULTIMATE.start_main_#t~pre8#1_2|)) |v_#memory_int_1|) (<= (+ |v_ULTIMATE.start_main_~#t1~0#1.offset_1| 4) (select |v_#length_1| |v_ULTIMATE.start_main_~#t1~0#1.base_1|)) (<= 0 |v_ULTIMATE.start_main_~#t1~0#1.offset_1|) (= (select |v_#valid_1| |v_ULTIMATE.start_main_~#t1~0#1.base_1|) 1)) InVars {#valid=|v_#valid_1|, #memory_int=|v_#memory_int_2|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_2|, #length=|v_#length_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|} OutVars{#valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_2|, #length=|v_#length_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|} AuxVars[] AssignedVars[#memory_int] SleepPredicate [underlying: 218#[L129-2]don't care, sleep set: []] [378] L129-2-->$Ultimate##0: Formula: (and (= |v_ULTIMATE.start_main_#t~pre8#1_6| v_thread1Thread1of1ForFork0_thidvar0_2) (= v_thread1Thread1of1ForFork0_thidvar1_2 0)) InVars {ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_6|} OutVars{thread1Thread1of1ForFork0_#res.base=|v_thread1Thread1of1ForFork0_#res.base_4|, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_6|, thread1Thread1of1ForFork0_thidvar0=v_thread1Thread1of1ForFork0_thidvar0_2, thread1Thread1of1ForFork0_#res.offset=|v_thread1Thread1of1ForFork0_#res.offset_4|, ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_6|, thread1Thread1of1ForFork0_thidvar1=v_thread1Thread1of1ForFork0_thidvar1_2, thread1Thread1of1ForFork0_~cond~0=v_thread1Thread1of1ForFork0_~cond~0_10} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#res.base, thread1Thread1of1ForFork0_#t~post1, thread1Thread1of1ForFork0_thidvar0, thread1Thread1of1ForFork0_#res.offset, thread1Thread1of1ForFork0_thidvar1, thread1Thread1of1ForFork0_~cond~0] SleepPredicate [underlying: 220#[$Ultimate##0, L129-3]don't care, sleep set: []] [310] L129-3-->L129-4: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre8#1=|v_ULTIMATE.start_main_#t~pre8#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre8#1] SleepPredicate [underlying: 222#[$Ultimate##0, L129-4]don't care, sleep set: [thread1Thread1of1ForFork0]] [254] L129-4-->L130: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet9#1=|v_ULTIMATE.start_main_#t~nondet9#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet9#1] SleepPredicate [underlying: 228#[$Ultimate##0, L130]don't care, sleep set: [thread1Thread1of1ForFork0]] [276] L130-->L130-1: Formula: (= |v_ULTIMATE.start_main_#t~pre10#1_1| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{#pthreadsForks=|v_#pthreadsForks_4|, ULTIMATE.start_main_#t~pre10#1=|v_ULTIMATE.start_main_#t~pre10#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre10#1] SleepPredicate [underlying: 240#[$Ultimate##0, L130-1]don't care, sleep set: [thread1Thread1of1ForFork0]] [338] L130-1-->L130-2: Formula: (= (+ 1 |v_#pthreadsForks_6|) |v_#pthreadsForks_5|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_5|} AuxVars[] AssignedVars[#pthreadsForks] SleepPredicate [underlying: 256#[$Ultimate##0, L130-2]don't care, sleep set: [thread1Thread1of1ForFork0]] [275] L130-2-->L130-3: Formula: (and (= (select |v_#valid_2| |v_ULTIMATE.start_main_~#t2~0#1.base_1|) 1) (<= (+ 4 |v_ULTIMATE.start_main_~#t2~0#1.offset_1|) (select |v_#length_2| |v_ULTIMATE.start_main_~#t2~0#1.base_1|)) (<= 0 |v_ULTIMATE.start_main_~#t2~0#1.offset_1|) (= (store |v_#memory_int_4| |v_ULTIMATE.start_main_~#t2~0#1.base_1| (store (select |v_#memory_int_4| |v_ULTIMATE.start_main_~#t2~0#1.base_1|) |v_ULTIMATE.start_main_~#t2~0#1.offset_1| |v_ULTIMATE.start_main_#t~pre10#1_2|)) |v_#memory_int_3|)) InVars {ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_1|, ULTIMATE.start_main_#t~pre10#1=|v_ULTIMATE.start_main_#t~pre10#1_2|, #valid=|v_#valid_2|, #memory_int=|v_#memory_int_4|, #length=|v_#length_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_1|} OutVars{ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_1|, ULTIMATE.start_main_#t~pre10#1=|v_ULTIMATE.start_main_#t~pre10#1_2|, #valid=|v_#valid_2|, #memory_int=|v_#memory_int_3|, #length=|v_#length_2|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_1|} AuxVars[] AssignedVars[#memory_int] SleepPredicate [underlying: 272#[$Ultimate##0, L130-3]don't care, sleep set: [thread1Thread1of1ForFork0]] [384] L130-3-->$Ultimate##0: Formula: (and (= 0 v_thread2Thread1of1ForFork2_thidvar2_2) (= |v_ULTIMATE.start_main_#t~pre10#1_6| v_thread2Thread1of1ForFork2_thidvar0_2) (= 0 v_thread2Thread1of1ForFork2_thidvar1_2)) InVars {ULTIMATE.start_main_#t~pre10#1=|v_ULTIMATE.start_main_#t~pre10#1_6|} OutVars{thread2Thread1of1ForFork2_thidvar2=v_thread2Thread1of1ForFork2_thidvar2_2, thread2Thread1of1ForFork2_thidvar1=v_thread2Thread1of1ForFork2_thidvar1_2, thread2Thread1of1ForFork2_#res.base=|v_thread2Thread1of1ForFork2_#res.base_4|, thread2Thread1of1ForFork2_~cond~1=v_thread2Thread1of1ForFork2_~cond~1_10, thread2Thread1of1ForFork2_thidvar0=v_thread2Thread1of1ForFork2_thidvar0_2, ULTIMATE.start_main_#t~pre10#1=|v_ULTIMATE.start_main_#t~pre10#1_6|, thread2Thread1of1ForFork2_#res.offset=|v_thread2Thread1of1ForFork2_#res.offset_4|} AuxVars[] AssignedVars[thread2Thread1of1ForFork2_thidvar2, thread2Thread1of1ForFork2_thidvar1, thread2Thread1of1ForFork2_#res.base, thread2Thread1of1ForFork2_~cond~1, thread2Thread1of1ForFork2_thidvar0, thread2Thread1of1ForFork2_#res.offset] SleepPredicate [underlying: 286#[$Ultimate##0, $Ultimate##0, L130-4]don't care, sleep set: [thread1Thread1of1ForFork0]] [352] $Ultimate##0-->L74: Formula: (= (ite (= (ite (< 0 v_~n1~0_10) 1 0) 0) 0 1) v_thread2Thread1of1ForFork2_~cond~1_1) InVars {~n1~0=v_~n1~0_10} OutVars{thread2Thread1of1ForFork2_~cond~1=v_thread2Thread1of1ForFork2_~cond~1_1, ~n1~0=v_~n1~0_10} AuxVars[] AssignedVars[thread2Thread1of1ForFork2_~cond~1] SleepPredicate [underlying: 300#[L74, L130-4, $Ultimate##0]don't care, sleep set: [thread1Thread1of1ForFork0]] [248] L130-4-->L130-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre10#1=|v_ULTIMATE.start_main_#t~pre10#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre10#1] SleepPredicate [underlying: 322#[L74, L130-5, $Ultimate##0]don't care, sleep set: [thread1Thread1of1ForFork0]] [321] L130-5-->L131: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet11#1] SleepPredicate [underlying: 356#[L74, L131, $Ultimate##0]don't care, sleep set: [thread1Thread1of1ForFork0]] [259] L131-->L131-1: Formula: (= |v_ULTIMATE.start_main_#t~pre12#1_1| |v_#pthreadsForks_7|) InVars {#pthreadsForks=|v_#pthreadsForks_7|} OutVars{#pthreadsForks=|v_#pthreadsForks_7|, ULTIMATE.start_main_#t~pre12#1=|v_ULTIMATE.start_main_#t~pre12#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre12#1] SleepPredicate [underlying: 408#[L74, L131-1, $Ultimate##0]don't care, sleep set: [thread1Thread1of1ForFork0]] [304] L131-1-->L131-2: Formula: (= (+ 1 |v_#pthreadsForks_9|) |v_#pthreadsForks_8|) InVars {#pthreadsForks=|v_#pthreadsForks_9|} OutVars{#pthreadsForks=|v_#pthreadsForks_8|} AuxVars[] AssignedVars[#pthreadsForks] SleepPredicate [underlying: 480#[L74, L131-2, $Ultimate##0]don't care, sleep set: [thread1Thread1of1ForFork0]] [305] L131-2-->L131-3: Formula: (and (<= (+ 4 |v_ULTIMATE.start_main_~#t3~0#1.offset_1|) (select |v_#length_3| |v_ULTIMATE.start_main_~#t3~0#1.base_1|)) (= (select |v_#valid_3| |v_ULTIMATE.start_main_~#t3~0#1.base_1|) 1) (<= 0 |v_ULTIMATE.start_main_~#t3~0#1.offset_1|) (= (store |v_#memory_int_6| |v_ULTIMATE.start_main_~#t3~0#1.base_1| (store (select |v_#memory_int_6| |v_ULTIMATE.start_main_~#t3~0#1.base_1|) |v_ULTIMATE.start_main_~#t3~0#1.offset_1| |v_ULTIMATE.start_main_#t~pre12#1_2|)) |v_#memory_int_5|)) InVars {ULTIMATE.start_main_#t~pre12#1=|v_ULTIMATE.start_main_#t~pre12#1_2|, ULTIMATE.start_main_~#t3~0#1.offset=|v_ULTIMATE.start_main_~#t3~0#1.offset_1|, #valid=|v_#valid_3|, #memory_int=|v_#memory_int_6|, ULTIMATE.start_main_~#t3~0#1.base=|v_ULTIMATE.start_main_~#t3~0#1.base_1|, #length=|v_#length_3|} OutVars{ULTIMATE.start_main_#t~pre12#1=|v_ULTIMATE.start_main_#t~pre12#1_2|, ULTIMATE.start_main_~#t3~0#1.offset=|v_ULTIMATE.start_main_~#t3~0#1.offset_1|, #valid=|v_#valid_3|, #memory_int=|v_#memory_int_5|, ULTIMATE.start_main_~#t3~0#1.base=|v_ULTIMATE.start_main_~#t3~0#1.base_1|, #length=|v_#length_3|} AuxVars[] AssignedVars[#memory_int] SleepPredicate [underlying: 568#[L74, L131-3, $Ultimate##0]don't care, sleep set: [thread1Thread1of1ForFork0]] [387] L131-3-->$Ultimate##0: Formula: (and (= v_thread3Thread1of1ForFork3_thidvar0_2 |v_ULTIMATE.start_main_#t~pre12#1_6|) (= v_thread3Thread1of1ForFork3_thidvar1_2 0) (= v_thread3Thread1of1ForFork3_thidvar3_2 0) (= v_thread3Thread1of1ForFork3_thidvar2_2 0)) InVars {ULTIMATE.start_main_#t~pre12#1=|v_ULTIMATE.start_main_#t~pre12#1_6|} OutVars{thread3Thread1of1ForFork3_thidvar0=v_thread3Thread1of1ForFork3_thidvar0_2, ULTIMATE.start_main_#t~pre12#1=|v_ULTIMATE.start_main_#t~pre12#1_6|, thread3Thread1of1ForFork3_thidvar2=v_thread3Thread1of1ForFork3_thidvar2_2, thread3Thread1of1ForFork3_thidvar1=v_thread3Thread1of1ForFork3_thidvar1_2, thread3Thread1of1ForFork3_#res.base=|v_thread3Thread1of1ForFork3_#res.base_4|, thread3Thread1of1ForFork3_thidvar3=v_thread3Thread1of1ForFork3_thidvar3_2, thread3Thread1of1ForFork3_~cond~2=v_thread3Thread1of1ForFork3_~cond~2_10, thread3Thread1of1ForFork3_#res.offset=|v_thread3Thread1of1ForFork3_#res.offset_4|, thread3Thread1of1ForFork3_#t~post2=|v_thread3Thread1of1ForFork3_#t~post2_6|} AuxVars[] AssignedVars[thread3Thread1of1ForFork3_thidvar0, thread3Thread1of1ForFork3_thidvar2, thread3Thread1of1ForFork3_thidvar1, thread3Thread1of1ForFork3_#res.base, thread3Thread1of1ForFork3_thidvar3, thread3Thread1of1ForFork3_~cond~2, thread3Thread1of1ForFork3_#res.offset, thread3Thread1of1ForFork3_#t~post2] SleepPredicate [underlying: 664#[$Ultimate##0, $Ultimate##0, L74, L131-4]don't care, sleep set: [thread1Thread1of1ForFork0]] [307] L131-4-->L131-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre12#1=|v_ULTIMATE.start_main_#t~pre12#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre12#1] SleepPredicate [underlying: 766#[$Ultimate##0, $Ultimate##0, L131-5, L74]don't care, sleep set: [thread1Thread1of1ForFork0]] [284] L131-5-->L132: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet13#1=|v_ULTIMATE.start_main_#t~nondet13#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet13#1] SleepPredicate [underlying: 888#[$Ultimate##0, $Ultimate##0, L132, L74]don't care, sleep set: [thread1Thread1of1ForFork0]] [336] L132-->L132-1: Formula: (= |v_#pthreadsForks_10| |v_ULTIMATE.start_main_#t~pre14#1_1|) InVars {#pthreadsForks=|v_#pthreadsForks_10|} OutVars{ULTIMATE.start_main_#t~pre14#1=|v_ULTIMATE.start_main_#t~pre14#1_1|, #pthreadsForks=|v_#pthreadsForks_10|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre14#1] SleepPredicate [underlying: 1058#[$Ultimate##0, $Ultimate##0, L132-1, L74]don't care, sleep set: [thread1Thread1of1ForFork0]] [339] L132-1-->L132-2: Formula: (= (+ |v_#pthreadsForks_12| 1) |v_#pthreadsForks_11|) InVars {#pthreadsForks=|v_#pthreadsForks_12|} OutVars{#pthreadsForks=|v_#pthreadsForks_11|} AuxVars[] AssignedVars[#pthreadsForks] SleepPredicate [underlying: 1308#[$Ultimate##0, $Ultimate##0, L132-2, L74]don't care, sleep set: [thread1Thread1of1ForFork0]] [298] L132-2-->L132-3: Formula: (and (= |v_#memory_int_7| (store |v_#memory_int_8| |v_ULTIMATE.start_main_~#t4~0#1.base_1| (store (select |v_#memory_int_8| |v_ULTIMATE.start_main_~#t4~0#1.base_1|) |v_ULTIMATE.start_main_~#t4~0#1.offset_1| |v_ULTIMATE.start_main_#t~pre14#1_2|))) (<= (+ |v_ULTIMATE.start_main_~#t4~0#1.offset_1| 4) (select |v_#length_4| |v_ULTIMATE.start_main_~#t4~0#1.base_1|)) (= (select |v_#valid_4| |v_ULTIMATE.start_main_~#t4~0#1.base_1|) 1) (<= 0 |v_ULTIMATE.start_main_~#t4~0#1.offset_1|)) InVars {ULTIMATE.start_main_#t~pre14#1=|v_ULTIMATE.start_main_#t~pre14#1_2|, #valid=|v_#valid_4|, #memory_int=|v_#memory_int_8|, #length=|v_#length_4|, ULTIMATE.start_main_~#t4~0#1.offset=|v_ULTIMATE.start_main_~#t4~0#1.offset_1|, ULTIMATE.start_main_~#t4~0#1.base=|v_ULTIMATE.start_main_~#t4~0#1.base_1|} OutVars{ULTIMATE.start_main_#t~pre14#1=|v_ULTIMATE.start_main_#t~pre14#1_2|, #valid=|v_#valid_4|, #memory_int=|v_#memory_int_7|, #length=|v_#length_4|, ULTIMATE.start_main_~#t4~0#1.offset=|v_ULTIMATE.start_main_~#t4~0#1.offset_1|, ULTIMATE.start_main_~#t4~0#1.base=|v_ULTIMATE.start_main_~#t4~0#1.base_1|} AuxVars[] AssignedVars[#memory_int] SleepPredicate [underlying: 1662#[$Ultimate##0, $Ultimate##0, L132-3, L74]don't care, sleep set: [thread1Thread1of1ForFork0]] [360] $Ultimate##0-->L93: Formula: (= v_thread3Thread1of1ForFork3_~cond~2_1 (ite (= (ite (< 0 v_~n2~0_5) 1 0) 0) 0 1)) InVars {~n2~0=v_~n2~0_5} OutVars{~n2~0=v_~n2~0_5, thread3Thread1of1ForFork3_~cond~2=v_thread3Thread1of1ForFork3_~cond~2_1} AuxVars[] AssignedVars[thread3Thread1of1ForFork3_~cond~2] SleepPredicate [underlying: 2128#[$Ultimate##0, L132-3, L74, L93]don't care, sleep set: [thread1Thread1of1ForFork0]] [381] L132-3-->$Ultimate##0: Formula: (and (= 0 v_thread4Thread1of1ForFork1_thidvar2_2) (= 0 v_thread4Thread1of1ForFork1_thidvar3_2) (= 0 v_thread4Thread1of1ForFork1_thidvar1_2) (= 0 v_thread4Thread1of1ForFork1_thidvar4_2) (= v_thread4Thread1of1ForFork1_thidvar0_2 |v_ULTIMATE.start_main_#t~pre14#1_6|)) InVars {ULTIMATE.start_main_#t~pre14#1=|v_ULTIMATE.start_main_#t~pre14#1_6|} OutVars{thread4Thread1of1ForFork1_#res.base=|v_thread4Thread1of1ForFork1_#res.base_4|, thread4Thread1of1ForFork1_#res.offset=|v_thread4Thread1of1ForFork1_#res.offset_4|, ULTIMATE.start_main_#t~pre14#1=|v_ULTIMATE.start_main_#t~pre14#1_6|, thread4Thread1of1ForFork1_thidvar0=v_thread4Thread1of1ForFork1_thidvar0_2, thread4Thread1of1ForFork1_thidvar1=v_thread4Thread1of1ForFork1_thidvar1_2, thread4Thread1of1ForFork1_thidvar4=v_thread4Thread1of1ForFork1_thidvar4_2, thread4Thread1of1ForFork1_~cond~3=v_thread4Thread1of1ForFork1_~cond~3_10, thread4Thread1of1ForFork1_thidvar2=v_thread4Thread1of1ForFork1_thidvar2_2, thread4Thread1of1ForFork1_thidvar3=v_thread4Thread1of1ForFork1_thidvar3_2} AuxVars[] AssignedVars[thread4Thread1of1ForFork1_#res.base, thread4Thread1of1ForFork1_#res.offset, thread4Thread1of1ForFork1_thidvar0, thread4Thread1of1ForFork1_thidvar1, thread4Thread1of1ForFork1_thidvar4, thread4Thread1of1ForFork1_~cond~3, thread4Thread1of1ForFork1_thidvar2, thread4Thread1of1ForFork1_thidvar3] SleepPredicate [underlying: 2702#[$Ultimate##0, L74, L93, $Ultimate##0, L132-4]don't care, sleep set: [thread1Thread1of1ForFork0]] [326] L132-4-->L132-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre14#1=|v_ULTIMATE.start_main_#t~pre14#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre14#1] SleepPredicate [underlying: 3370#[$Ultimate##0, L74, L93, $Ultimate##0, L132-5]don't care, sleep set: [thread1Thread1of1ForFork0]] [341] L132-5-->L133: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet15#1=|v_ULTIMATE.start_main_#t~nondet15#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet15#1] SleepPredicate [underlying: 4152#[L133, $Ultimate##0, L74, L93, $Ultimate##0]don't care, sleep set: [thread1Thread1of1ForFork0]] [316] L133-->L133-1: Formula: (and (= |v_ULTIMATE.start_main_#t~mem16#1_1| (select (select |v_#memory_int_9| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) |v_ULTIMATE.start_main_~#t1~0#1.offset_2|)) (<= (+ |v_ULTIMATE.start_main_~#t1~0#1.offset_2| 4) (select |v_#length_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2|)) (= (select |v_#valid_5| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) 1) (<= 0 |v_ULTIMATE.start_main_~#t1~0#1.offset_2|)) InVars {#memory_int=|v_#memory_int_9|, #length=|v_#length_5|, 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_5|} OutVars{#valid=|v_#valid_5|, #memory_int=|v_#memory_int_9|, ULTIMATE.start_main_#t~mem16#1=|v_ULTIMATE.start_main_#t~mem16#1_1|, #length=|v_#length_5|, 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|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~mem16#1] SleepPredicate [underlying: 5124#[L133-1, $Ultimate##0, L74, L93, $Ultimate##0]don't care, sleep set: [thread1Thread1of1ForFork0]] [368] $Ultimate##0-->L112: Formula: (= v_thread4Thread1of1ForFork1_~cond~3_1 (ite (= 0 (ite (< 0 v_~n2~0_10) 1 0)) 0 1)) InVars {~n2~0=v_~n2~0_10} OutVars{~n2~0=v_~n2~0_10, thread4Thread1of1ForFork1_~cond~3=v_thread4Thread1of1ForFork1_~cond~3_1} AuxVars[] AssignedVars[thread4Thread1of1ForFork1_~cond~3] SleepPredicate [underlying: 6408#[L74, L133-1, L93, $Ultimate##0, L112]don't care, sleep set: [thread1Thread1of1ForFork0]] [344] $Ultimate##0-->L55: Formula: (= v_thread1Thread1of1ForFork0_~cond~0_1 (ite (= (ite (< 0 v_~n1~0_1) 1 0) 0) 0 1)) InVars {~n1~0=v_~n1~0_1} OutVars{~n1~0=v_~n1~0_1, thread1Thread1of1ForFork0_~cond~0=v_thread1Thread1of1ForFork0_~cond~0_1} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_~cond~0] SleepPredicate [underlying: 7702#[L55, L74, L133-1, L93, L112]don't care, sleep set: []] [2023-09-08 15:15:40,862 INFO L750 eck$LassoCheckResult]: Loop: SleepPredicate [underlying: 7702#[L55, L74, L133-1, L93, L112]don't care, sleep set: []] [361] L93-->L85: Formula: (not (= (mod v_thread3Thread1of1ForFork3_~cond~2_3 256) 0)) InVars {thread3Thread1of1ForFork3_~cond~2=v_thread3Thread1of1ForFork3_~cond~2_3} OutVars{thread3Thread1of1ForFork3_~cond~2=v_thread3Thread1of1ForFork3_~cond~2_3} AuxVars[] AssignedVars[] SleepPredicate [underlying: 9796#[L85, L74, L133-1, L55, L112]don't care, sleep set: [thread2Thread1of1ForFork2, thread4Thread1of1ForFork1, thread1Thread1of1ForFork0]] [353] L74-->L66: Formula: (not (= (mod v_thread2Thread1of1ForFork2_~cond~1_3 256) 0)) InVars {thread2Thread1of1ForFork2_~cond~1=v_thread2Thread1of1ForFork2_~cond~1_3} OutVars{thread2Thread1of1ForFork2_~cond~1=v_thread2Thread1of1ForFork2_~cond~1_3} AuxVars[] AssignedVars[] SleepPredicate [underlying: 12146#[L85, L133-1, L55, L66, L112]don't care, sleep set: [thread4Thread1of1ForFork1, thread1Thread1of1ForFork0]] [356] L66-->L67-1: Formula: (or (and (= v_~n1~0_In_3 v_~n1~0_Out_6) (= v_~p1~0_Out_6 v_~p1~0_In_3) (<= v_~n1~0_In_3 1)) (and (< 1 v_~n1~0_In_3) (= v_~p1~0_Out_6 (+ v_~p1~0_In_3 (* v_~m~0_In_3 2))) (= v_~n1~0_In_3 (+ 2 v_~n1~0_Out_6)))) InVars {~m~0=v_~m~0_In_3, ~p1~0=v_~p1~0_In_3, ~n1~0=v_~n1~0_In_3} OutVars{~m~0=v_~m~0_In_3, ~p1~0=v_~p1~0_Out_6, ~n1~0=v_~n1~0_Out_6} AuxVars[] AssignedVars[~p1~0, ~n1~0] SleepPredicate [underlying: 14956#[L85, L133-1, L55, L67-1, L112]don't care, sleep set: [thread4Thread1of1ForFork1, thread1Thread1of1ForFork0]] [364] L85-->L86-1: Formula: (or (and (= v_~p2~0_In_1 v_~p2~0_Out_2) (= |v_thread3Thread1of1ForFork3_#t~post2_2| |v_thread3Thread1of1ForFork3_#t~post2_1|) (= v_~n2~0_Out_2 v_~n2~0_In_1) (<= v_~n2~0_In_1 0)) (and (= (+ v_~n2~0_Out_2 1) v_~n2~0_In_1) (< 0 v_~n2~0_In_1) (= v_~p2~0_Out_2 (+ v_~p2~0_In_1 v_~m~0_In_5)))) InVars {~p2~0=v_~p2~0_In_1, ~m~0=v_~m~0_In_5, ~n2~0=v_~n2~0_In_1, thread3Thread1of1ForFork3_#t~post2=|v_thread3Thread1of1ForFork3_#t~post2_1|} OutVars{~p2~0=v_~p2~0_Out_2, ~m~0=v_~m~0_In_5, ~n2~0=v_~n2~0_Out_2, thread3Thread1of1ForFork3_#t~post2=|v_thread3Thread1of1ForFork3_#t~post2_2|} AuxVars[] AssignedVars[~n2~0, ~p2~0, thread3Thread1of1ForFork3_#t~post2] SleepPredicate [underlying: 17838#[L133-1, L55, L112, L67-1, L86-1]don't care, sleep set: [thread4Thread1of1ForFork1, thread1Thread1of1ForFork0]] [369] L112-->L104: Formula: (not (= (mod v_thread4Thread1of1ForFork1_~cond~3_3 256) 0)) InVars {thread4Thread1of1ForFork1_~cond~3=v_thread4Thread1of1ForFork1_~cond~3_3} OutVars{thread4Thread1of1ForFork1_~cond~3=v_thread4Thread1of1ForFork1_~cond~3_3} AuxVars[] AssignedVars[] SleepPredicate [underlying: 20420#[L133-1, L55, L67-1, L86-1, L104]don't care, sleep set: [thread1Thread1of1ForFork0]] [372] L104-->L105-1: Formula: (or (and (= (+ v_~n2~0_Out_6 2) v_~n2~0_In_3) (< 1 v_~n2~0_In_3) (= v_~p2~0_Out_6 (+ v_~p2~0_In_3 (* v_~m~0_In_7 2)))) (and (<= v_~n2~0_In_3 1) (= v_~p2~0_In_3 v_~p2~0_Out_6) (= v_~n2~0_Out_6 v_~n2~0_In_3))) InVars {~p2~0=v_~p2~0_In_3, ~m~0=v_~m~0_In_7, ~n2~0=v_~n2~0_In_3} OutVars{~p2~0=v_~p2~0_Out_6, ~m~0=v_~m~0_In_7, ~n2~0=v_~n2~0_Out_6} AuxVars[] AssignedVars[~n2~0, ~p2~0] SleepPredicate [underlying: 22466#[L105-1, L133-1, L55, L67-1, L86-1]don't care, sleep set: [thread1Thread1of1ForFork0]] [345] L55-->L47: Formula: (not (= (mod v_thread1Thread1of1ForFork0_~cond~0_3 256) 0)) InVars {thread1Thread1of1ForFork0_~cond~0=v_thread1Thread1of1ForFork0_~cond~0_3} OutVars{thread1Thread1of1ForFork0_~cond~0=v_thread1Thread1of1ForFork0_~cond~0_3} AuxVars[] AssignedVars[] SleepPredicate [underlying: 22856#[L105-1, L133-1, L47, L67-1, L86-1]don't care, sleep set: []] [358] L67-1-->L74: Formula: (= v_thread2Thread1of1ForFork2_~cond~1_7 (ite (= (ite (< 0 v_~n1~0_12) 1 0) 0) 0 1)) InVars {~n1~0=v_~n1~0_12} OutVars{thread2Thread1of1ForFork2_~cond~1=v_thread2Thread1of1ForFork2_~cond~1_7, ~n1~0=v_~n1~0_12} AuxVars[] AssignedVars[thread2Thread1of1ForFork2_~cond~1] SleepPredicate [underlying: 19088#[L105-1, L74, L133-1, L47, L86-1]don't care, sleep set: [thread4Thread1of1ForFork1, thread1Thread1of1ForFork0, thread3Thread1of1ForFork3]] [366] L86-1-->L93: Formula: (= v_thread3Thread1of1ForFork3_~cond~2_7 (ite (= (ite (< 0 v_~n2~0_4) 1 0) 0) 0 1)) InVars {~n2~0=v_~n2~0_4} OutVars{~n2~0=v_~n2~0_4, thread3Thread1of1ForFork3_~cond~2=v_thread3Thread1of1ForFork3_~cond~2_7} AuxVars[] AssignedVars[thread3Thread1of1ForFork3_~cond~2] SleepPredicate [underlying: 13698#[L105-1, L74, L133-1, L93, L47]don't care, sleep set: [thread4Thread1of1ForFork1, thread1Thread1of1ForFork0]] [348] L47-->L48-1: Formula: (or (and (= v_~p1~0_Out_2 v_~p1~0_In_1) (<= v_~n1~0_In_1 0) (= v_~n1~0_In_1 v_~n1~0_Out_2) (= |v_thread1Thread1of1ForFork0_#t~post1_1| |v_thread1Thread1of1ForFork0_#t~post1_2|)) (and (< 0 v_~n1~0_In_1) (= v_~p1~0_Out_2 (+ v_~m~0_In_1 v_~p1~0_In_1)) (= v_~n1~0_In_1 (+ v_~n1~0_Out_2 1)))) InVars {~m~0=v_~m~0_In_1, ~p1~0=v_~p1~0_In_1, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_1|, ~n1~0=v_~n1~0_In_1} OutVars{~m~0=v_~m~0_In_1, thread1Thread1of1ForFork0_#t~post1=|v_thread1Thread1of1ForFork0_#t~post1_2|, ~p1~0=v_~p1~0_Out_2, ~n1~0=v_~n1~0_Out_2} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_#t~post1, ~p1~0, ~n1~0] SleepPredicate [underlying: 16064#[L105-1, L74, L133-1, L93, L48-1]don't care, sleep set: [thread4Thread1of1ForFork1]] [350] L48-1-->L55: Formula: (= v_thread1Thread1of1ForFork0_~cond~0_7 (ite (= (ite (< 0 v_~n1~0_6) 1 0) 0) 0 1)) InVars {~n1~0=v_~n1~0_6} OutVars{~n1~0=v_~n1~0_6, thread1Thread1of1ForFork0_~cond~0=v_thread1Thread1of1ForFork0_~cond~0_7} AuxVars[] AssignedVars[thread1Thread1of1ForFork0_~cond~0] SleepPredicate [underlying: 12450#[L105-1, L55, L74, L133-1, L93]don't care, sleep set: [thread4Thread1of1ForFork1]] [374] L105-1-->L112: Formula: (= v_thread4Thread1of1ForFork1_~cond~3_7 (ite (= 0 (ite (< 0 v_~n2~0_12) 1 0)) 0 1)) InVars {~n2~0=v_~n2~0_12} OutVars{~n2~0=v_~n2~0_12, thread4Thread1of1ForFork1_~cond~3=v_thread4Thread1of1ForFork1_~cond~3_7} AuxVars[] AssignedVars[thread4Thread1of1ForFork1_~cond~3] SleepPredicate [underlying: 7702#[L55, L74, L133-1, L93, L112]don't care, sleep set: []] [2023-09-08 15:15:40,868 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-08 15:15:40,868 INFO L85 PathProgramCache]: Analyzing trace with hash -1610866319, now seen corresponding path program 1 times [2023-09-08 15:15:40,876 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-08 15:15:40,876 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [47250434] [2023-09-08 15:15:40,876 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-08 15:15:40,877 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-08 15:15:41,131 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-08 15:15:41,136 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-08 15:15:41,199 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-08 15:15:41,237 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-08 15:15:41,239 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-08 15:15:41,240 INFO L85 PathProgramCache]: Analyzing trace with hash -1710811977, now seen corresponding path program 1 times [2023-09-08 15:15:41,240 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-08 15:15:41,240 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [217760966] [2023-09-08 15:15:41,240 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-08 15:15:41,240 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-08 15:15:41,267 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-08 15:15:41,267 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-08 15:15:41,285 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-08 15:15:41,297 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-08 15:15:41,300 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-09-08 15:15:41,301 INFO L85 PathProgramCache]: Analyzing trace with hash 1563201063, now seen corresponding path program 1 times [2023-09-08 15:15:41,301 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-09-08 15:15:41,301 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1748755373] [2023-09-08 15:15:41,301 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-09-08 15:15:41,302 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-09-08 15:15:41,481 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-08 15:15:41,482 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-09-08 15:15:41,558 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-09-08 15:15:41,581 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-09-08 15:15:42,426 INFO L210 LassoAnalysis]: Preferences: [2023-09-08 15:15:42,427 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2023-09-08 15:15:42,427 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2023-09-08 15:15:42,427 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2023-09-08 15:15:42,427 INFO L129 ssoRankerPreferences]: Use exernal solver: true [2023-09-08 15:15:42,427 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2023-09-08 15:15:42,427 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2023-09-08 15:15:42,428 INFO L132 ssoRankerPreferences]: Path of dumped script: [2023-09-08 15:15:42,428 INFO L133 ssoRankerPreferences]: Filename of dumped script: test-hard1.wvr.c_BEv2_Iteration1_Loop [2023-09-08 15:15:42,428 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2023-09-08 15:15:42,428 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2023-09-08 15:15:42,475 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2023-09-08 15:15:42,486 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2023-09-08 15:15:45,349 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2023-09-08 15:15:45,360 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2023-09-08 15:15:45,363 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2023-09-08 15:15:45,366 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2023-09-08 15:15:45,368 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2023-09-08 15:15:45,371 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2023-09-08 15:15:45,374 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2023-09-08 15:15:46,447 WARN L137 XnfTransformerHelper]: expecting exponential blowup for input size 26