/root/.sdkman/candidates/java/current/bin/java -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data -s ../../../trunk/examples/settings/default/automizer/svcomp-Termination-32bit-Automizer_Default.epf --buchiautomizer.automaton.type.for.concurrent.programs BUCHI_PETRI_NET -tc ../../../trunk/examples/toolchains/BuchiAutomizerCInline.xml -i ../../../trunk/examples/svcomp/weaver/popl20-more-max-array-hom.wvr.c -------------------------------------------------------------------------------- This is Ultimate 0.2.3-?-9ecb849-m [2024-02-09 23:40:17,417 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-02-09 23:40:17,479 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Termination-32bit-Automizer_Default.epf [2024-02-09 23:40:17,483 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-02-09 23:40:17,484 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-02-09 23:40:17,484 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.Only consider context switches at boundaries of atomic blocks [2024-02-09 23:40:17,506 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-02-09 23:40:17,506 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-02-09 23:40:17,507 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-02-09 23:40:17,507 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-02-09 23:40:17,508 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-02-09 23:40:17,508 INFO L153 SettingsManager]: * Use SBE=true [2024-02-09 23:40:17,508 INFO L151 SettingsManager]: Preferences of BuchiAutomizer differ from their defaults: [2024-02-09 23:40:17,508 INFO L153 SettingsManager]: * NCSB implementation=INTSET_LAZY3 [2024-02-09 23:40:17,509 INFO L153 SettingsManager]: * Use old map elimination=false [2024-02-09 23:40:17,509 INFO L153 SettingsManager]: * Use external solver (rank synthesis)=false [2024-02-09 23:40:17,509 INFO L153 SettingsManager]: * Use only trivial implications for array writes=true [2024-02-09 23:40:17,509 INFO L153 SettingsManager]: * Rank analysis=LINEAR_WITH_GUESSES [2024-02-09 23:40:17,509 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-02-09 23:40:17,510 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=ASSUME [2024-02-09 23:40:17,510 INFO L153 SettingsManager]: * sizeof long=4 [2024-02-09 23:40:17,510 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2024-02-09 23:40:17,511 INFO L153 SettingsManager]: * sizeof POINTER=4 [2024-02-09 23:40:17,511 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-02-09 23:40:17,511 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=ASSUME [2024-02-09 23:40:17,511 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=ASSUME [2024-02-09 23:40:17,512 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=ASSUME [2024-02-09 23:40:17,512 INFO L153 SettingsManager]: * Check unreachability of reach_error function=false [2024-02-09 23:40:17,512 INFO L153 SettingsManager]: * sizeof long double=12 [2024-02-09 23:40:17,512 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-02-09 23:40:17,512 INFO L153 SettingsManager]: * Assume nondeterminstic values are in range=false [2024-02-09 23:40:17,513 INFO L153 SettingsManager]: * Use constant arrays=true [2024-02-09 23:40:17,513 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-02-09 23:40:17,513 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-02-09 23:40:17,513 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-02-09 23:40:17,514 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2024-02-09 23:40:17,514 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2024-02-09 23:40:17,514 INFO L151 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2024-02-09 23:40:17,514 INFO L153 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: Automaton type for concurrent programs -> BUCHI_PETRI_NET [2024-02-09 23:40:17,740 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-02-09 23:40:17,762 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-02-09 23:40:17,764 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-02-09 23:40:17,766 INFO L270 PluginConnector]: Initializing CDTParser... [2024-02-09 23:40:17,766 INFO L274 PluginConnector]: CDTParser initialized [2024-02-09 23:40:17,767 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/weaver/popl20-more-max-array-hom.wvr.c [2024-02-09 23:40:18,917 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-02-09 23:40:19,064 INFO L384 CDTParser]: Found 1 translation units. [2024-02-09 23:40:19,064 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/weaver/popl20-more-max-array-hom.wvr.c [2024-02-09 23:40:19,070 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/4b02ba7f7/2d93cf83bef848d19f3fa8befd281fb0/FLAGc6f10ad5b [2024-02-09 23:40:19,082 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/4b02ba7f7/2d93cf83bef848d19f3fa8befd281fb0 [2024-02-09 23:40:19,084 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-02-09 23:40:19,085 INFO L133 ToolchainWalker]: Walking toolchain with 5 elements. [2024-02-09 23:40:19,086 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-02-09 23:40:19,086 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-02-09 23:40:19,089 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-02-09 23:40:19,090 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.02 11:40:19" (1/1) ... [2024-02-09 23:40:19,090 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@3fa60cf and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.02 11:40:19, skipping insertion in model container [2024-02-09 23:40:19,090 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.02 11:40:19" (1/1) ... [2024-02-09 23:40:19,111 INFO L177 MainTranslator]: Built tables and reachable declarations [2024-02-09 23:40:19,231 INFO L209 PostProcessor]: Analyzing one entry point: main [2024-02-09 23:40:19,240 INFO L202 MainTranslator]: Completed pre-run [2024-02-09 23:40:19,259 INFO L209 PostProcessor]: Analyzing one entry point: main [2024-02-09 23:40:19,265 WARN L672 CHandler]: The function __VERIFIER_atomic_begin is called, but not defined or handled by StandardFunctionHandler. [2024-02-09 23:40:19,265 WARN L672 CHandler]: The function __VERIFIER_atomic_end is called, but not defined or handled by StandardFunctionHandler. [2024-02-09 23:40:19,270 INFO L206 MainTranslator]: Completed translation [2024-02-09 23:40:19,270 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.02 11:40:19 WrapperNode [2024-02-09 23:40:19,270 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-02-09 23:40:19,271 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2024-02-09 23:40:19,271 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2024-02-09 23:40:19,271 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2024-02-09 23:40:19,276 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.02 11:40:19" (1/1) ... [2024-02-09 23:40:19,283 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.02 11:40:19" (1/1) ... [2024-02-09 23:40:19,305 INFO L138 Inliner]: procedures = 24, calls = 44, calls flagged for inlining = 8, calls inlined = 8, statements flattened = 104 [2024-02-09 23:40:19,305 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2024-02-09 23:40:19,306 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-02-09 23:40:19,306 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-02-09 23:40:19,306 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-02-09 23:40:19,337 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.02 11:40:19" (1/1) ... [2024-02-09 23:40:19,337 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.02 11:40:19" (1/1) ... [2024-02-09 23:40:19,339 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.02 11:40:19" (1/1) ... [2024-02-09 23:40:19,340 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.02 11:40:19" (1/1) ... [2024-02-09 23:40:19,349 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.02 11:40:19" (1/1) ... [2024-02-09 23:40:19,352 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.02 11:40:19" (1/1) ... [2024-02-09 23:40:19,353 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.02 11:40:19" (1/1) ... [2024-02-09 23:40:19,354 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.02 11:40:19" (1/1) ... [2024-02-09 23:40:19,356 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-02-09 23:40:19,357 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2024-02-09 23:40:19,357 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2024-02-09 23:40:19,357 INFO L274 PluginConnector]: RCFGBuilder initialized [2024-02-09 23:40:19,358 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.02 11:40:19" (1/1) ... [2024-02-09 23:40:19,362 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-09 23:40:19,370 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-09 23:40:19,381 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) [2024-02-09 23:40:19,389 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 [2024-02-09 23:40:19,415 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2024-02-09 23:40:19,416 INFO L130 BoogieDeclarations]: Found specification of procedure thread1 [2024-02-09 23:40:19,416 INFO L138 BoogieDeclarations]: Found implementation of procedure thread1 [2024-02-09 23:40:19,416 INFO L130 BoogieDeclarations]: Found specification of procedure thread2 [2024-02-09 23:40:19,416 INFO L138 BoogieDeclarations]: Found implementation of procedure thread2 [2024-02-09 23:40:19,416 INFO L130 BoogieDeclarations]: Found specification of procedure thread3 [2024-02-09 23:40:19,416 INFO L138 BoogieDeclarations]: Found implementation of procedure thread3 [2024-02-09 23:40:19,416 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2024-02-09 23:40:19,416 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2024-02-09 23:40:19,416 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2024-02-09 23:40:19,416 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2024-02-09 23:40:19,417 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2024-02-09 23:40:19,417 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2024-02-09 23:40:19,417 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-02-09 23:40:19,417 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-02-09 23:40:19,417 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2024-02-09 23:40:19,417 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2024-02-09 23:40:19,418 WARN L210 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to OneNontrivialStatement [2024-02-09 23:40:19,493 INFO L236 CfgBuilder]: Building ICFG [2024-02-09 23:40:19,494 INFO L262 CfgBuilder]: Building CFG for each procedure with an implementation [2024-02-09 23:40:19,714 INFO L277 CfgBuilder]: Performing block encoding [2024-02-09 23:40:19,768 INFO L297 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2024-02-09 23:40:19,769 INFO L302 CfgBuilder]: Removed 4 assume(true) statements. [2024-02-09 23:40:19,770 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.02 11:40:19 BoogieIcfgContainer [2024-02-09 23:40:19,771 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2024-02-09 23:40:19,771 INFO L112 PluginConnector]: ------------------------BuchiAutomizer---------------------------- [2024-02-09 23:40:19,771 INFO L270 PluginConnector]: Initializing BuchiAutomizer... [2024-02-09 23:40:19,774 INFO L274 PluginConnector]: BuchiAutomizer initialized [2024-02-09 23:40:19,775 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2024-02-09 23:40:19,775 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "CDTParser AST 09.02 11:40:19" (1/3) ... [2024-02-09 23:40:19,775 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@252d1ee7 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 09.02 11:40:19, skipping insertion in model container [2024-02-09 23:40:19,775 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2024-02-09 23:40:19,776 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.02 11:40:19" (2/3) ... [2024-02-09 23:40:19,776 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@252d1ee7 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 09.02 11:40:19, skipping insertion in model container [2024-02-09 23:40:19,776 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2024-02-09 23:40:19,776 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.02 11:40:19" (3/3) ... [2024-02-09 23:40:19,777 INFO L332 chiAutomizerObserver]: Analyzing ICFG popl20-more-max-array-hom.wvr.c [2024-02-09 23:40:19,853 INFO L144 ThreadInstanceAdder]: Constructed 3 joinOtherThreadTransitions. [2024-02-09 23:40:19,882 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 154 places, 159 transitions, 339 flow [2024-02-09 23:40:19,934 INFO L124 PetriNetUnfolderBase]: 12/153 cut-off events. [2024-02-09 23:40:19,934 INFO L125 PetriNetUnfolderBase]: For 3/3 co-relation queries the response was YES. [2024-02-09 23:40:19,943 INFO L83 FinitePrefix]: Finished finitePrefix Result has 166 conditions, 153 events. 12/153 cut-off events. For 3/3 co-relation queries the response was YES. Maximal size of possible extension queue 3. Compared 97 event pairs, 0 based on Foata normal form. 0/141 useless extension candidates. Maximal degree in co-relation 112. Up to 2 conditions per place. [2024-02-09 23:40:19,943 INFO L82 GeneralOperation]: Start removeDead. Operand has 154 places, 159 transitions, 339 flow [2024-02-09 23:40:19,951 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 151 places, 153 transitions, 324 flow [2024-02-09 23:40:19,956 INFO L303 stractBuchiCegarLoop]: Interprodecural is true [2024-02-09 23:40:19,957 INFO L304 stractBuchiCegarLoop]: Hoare is false [2024-02-09 23:40:19,957 INFO L305 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2024-02-09 23:40:19,957 INFO L306 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2024-02-09 23:40:19,957 INFO L307 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2024-02-09 23:40:19,957 INFO L308 stractBuchiCegarLoop]: Difference is false [2024-02-09 23:40:19,957 INFO L309 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2024-02-09 23:40:19,957 INFO L313 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiPetriNetCegarLoop ======== [2024-02-09 23:40:19,958 INFO L84 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 151 places, 153 transitions, 324 flow [2024-02-09 23:40:19,970 INFO L185 PetriNetUnfolderBase]: Found word, exiting Unfolder. [2024-02-09 23:40:19,970 INFO L124 PetriNetUnfolderBase]: 3/59 cut-off events. [2024-02-09 23:40:19,970 INFO L125 PetriNetUnfolderBase]: For 0/0 co-relation queries the response was YES. [2024-02-09 23:40:19,970 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty language is not empty [2024-02-09 23:40:19,973 INFO L335 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2024-02-09 23:40:19,973 INFO L84 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 151 places, 153 transitions, 324 flow [2024-02-09 23:40:19,981 INFO L185 PetriNetUnfolderBase]: Found word, exiting Unfolder. [2024-02-09 23:40:19,981 INFO L124 PetriNetUnfolderBase]: 3/59 cut-off events. [2024-02-09 23:40:19,981 INFO L125 PetriNetUnfolderBase]: For 0/0 co-relation queries the response was YES. [2024-02-09 23:40:19,981 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty language is not empty [2024-02-09 23:40:19,987 INFO L748 eck$LassoCheckResult]: Stem: 158#[$Ultimate##0]true [290] $Ultimate##0-->L-1: Formula: (= (select |v_#valid_7| 0) 0) InVars {#valid=|v_#valid_7|} OutVars{#valid=|v_#valid_7|} AuxVars[] AssignedVars[] 160#[L-1]true [304] L-1-->L21: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] 162#[L21]true [364] L21-->L21-1: Formula: (and (= (select |v_#valid_8| 1) 1) (= 2 (select |v_#length_7| 1))) InVars {#length=|v_#length_7|, #valid=|v_#valid_8|} OutVars{#length=|v_#length_7|, #valid=|v_#valid_8|} AuxVars[] AssignedVars[] 164#[L21-1]true [392] L21-1-->L21-2: Formula: (= (select (select |v_#memory_int_7| 1) 0) 48) InVars {#memory_int=|v_#memory_int_7|} OutVars{#memory_int=|v_#memory_int_7|} AuxVars[] AssignedVars[] 166#[L21-2]true [315] L21-2-->L21-3: Formula: (= (select (select |v_#memory_int_8| 1) 1) 0) InVars {#memory_int=|v_#memory_int_8|} OutVars{#memory_int=|v_#memory_int_8|} AuxVars[] AssignedVars[] 168#[L21-3]true [355] L21-3-->L21-4: Formula: (and (= (select |v_#valid_9| 2) 1) (= 32 (select |v_#length_8| 2))) InVars {#length=|v_#length_8|, #valid=|v_#valid_9|} OutVars{#length=|v_#length_8|, #valid=|v_#valid_9|} AuxVars[] AssignedVars[] 170#[L21-4]true [331] L21-4-->L41: Formula: (and (= v_~A~0.base_7 0) (= v_~A~0.offset_7 0)) InVars {} OutVars{~A~0.base=v_~A~0.base_7, ~A~0.offset=v_~A~0.offset_7} AuxVars[] AssignedVars[~A~0.base, ~A~0.offset] 172#[L41]true [287] L41-->L41-1: Formula: (= v_~max1~0_4 0) InVars {} OutVars{~max1~0=v_~max1~0_4} AuxVars[] AssignedVars[~max1~0] 174#[L41-1]true [305] L41-1-->L41-2: Formula: (= v_~max2~0_4 0) InVars {} OutVars{~max2~0=v_~max2~0_4} AuxVars[] AssignedVars[~max2~0] 176#[L41-2]true [318] L41-2-->L41-3: Formula: (= v_~max3~0_4 0) InVars {} OutVars{~max3~0=v_~max3~0_4} AuxVars[] AssignedVars[~max3~0] 178#[L41-3]true [390] L41-3-->L41-4: Formula: (= v_~M~0_4 0) InVars {} OutVars{~M~0=v_~M~0_4} AuxVars[] AssignedVars[~M~0] 180#[L41-4]true [391] L41-4-->L-1-1: Formula: (= v_~N~0_5 0) InVars {} OutVars{~N~0=v_~N~0_5} AuxVars[] AssignedVars[~N~0] 182#[L-1-1]true [407] L-1-1-->L-1-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] 184#[L-1-2]true [409] L-1-2-->L82: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre13#1=|v_ULTIMATE.start_main_#t~pre13#1_1|, ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_1|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_1|, ULTIMATE.start_main_~#t3~0#1.offset=|v_ULTIMATE.start_main_~#t3~0#1.offset_1|, ULTIMATE.start_main_~#t3~0#1.base=|v_ULTIMATE.start_main_~#t3~0#1.base_1|, ULTIMATE.start_main_#t~pre15#1=|v_ULTIMATE.start_main_#t~pre15#1_1|, ULTIMATE.start_main_#t~nondet18#1=|v_ULTIMATE.start_main_#t~nondet18#1_1|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_1|, ULTIMATE.start_main_#t~pre17#1=|v_ULTIMATE.start_main_#t~pre17#1_1|, ULTIMATE.start_main_#t~mem21#1=|v_ULTIMATE.start_main_#t~mem21#1_1|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_1|, ULTIMATE.start_main_#t~nondet14#1=|v_ULTIMATE.start_main_#t~nondet14#1_1|, ULTIMATE.start_main_#t~mem19#1=|v_ULTIMATE.start_main_#t~mem19#1_1|, ULTIMATE.start_main_#t~mem20#1=|v_ULTIMATE.start_main_#t~mem20#1_1|, ULTIMATE.start_main_#t~nondet16#1=|v_ULTIMATE.start_main_#t~nondet16#1_1|, ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_1|, ULTIMATE.start_main_#t~ret12#1.offset=|v_ULTIMATE.start_main_#t~ret12#1.offset_1|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_1|, ULTIMATE.start_main_#t~ret12#1.base=|v_ULTIMATE.start_main_#t~ret12#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre13#1, ULTIMATE.start_main_#t~nondet10#1, ULTIMATE.start_main_~#t2~0#1.offset, ULTIMATE.start_main_~#t3~0#1.offset, ULTIMATE.start_main_~#t3~0#1.base, ULTIMATE.start_main_#t~pre15#1, ULTIMATE.start_main_#t~nondet18#1, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_#t~pre17#1, ULTIMATE.start_main_#t~mem21#1, ULTIMATE.start_main_~#t1~0#1.offset, ULTIMATE.start_main_#t~nondet14#1, ULTIMATE.start_main_#t~mem19#1, ULTIMATE.start_main_#t~mem20#1, ULTIMATE.start_main_#t~nondet16#1, ULTIMATE.start_main_#t~nondet11#1, ULTIMATE.start_main_#t~ret12#1.offset, ULTIMATE.start_main_~#t2~0#1.base, ULTIMATE.start_main_#t~ret12#1.base] 186#[L82]true [360] L82-->L82-1: Formula: (and (= (store |v_#valid_11| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 1) |v_#valid_10|) (= |v_ULTIMATE.start_main_~#t1~0#1.offset_2| 0) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) (not (= |v_ULTIMATE.start_main_~#t1~0#1.base_2| 0)) (= (store |v_#length_10| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 4) |v_#length_9|) (= (select |v_#valid_11| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_10|, #valid=|v_#valid_11|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_9|, 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_10|} AuxVars[] AssignedVars[#valid, #length, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset] 188#[L82-1]true [269] L82-1-->L82-2: Formula: (and (= (select |v_#valid_13| |v_ULTIMATE.start_main_~#t2~0#1.base_2|) 0) (= (store |v_#valid_13| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 1) |v_#valid_12|) (= (store |v_#length_12| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 4) |v_#length_11|) (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_12|, #valid=|v_#valid_13|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_11|, 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_12|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t2~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t2~0#1.base] 190#[L82-2]true [411] L82-2-->L82-3: Formula: (and (= |v_ULTIMATE.start_main_~#t3~0#1.offset_2| 0) (not (= |v_ULTIMATE.start_main_~#t3~0#1.base_2| 0)) (= |v_#valid_14| (store |v_#valid_15| |v_ULTIMATE.start_main_~#t3~0#1.base_2| 1)) (= (select |v_#valid_15| |v_ULTIMATE.start_main_~#t3~0#1.base_2|) 0) (= (store |v_#length_14| |v_ULTIMATE.start_main_~#t3~0#1.base_2| 4) |v_#length_13|) (< |v_#StackHeapBarrier_4| |v_ULTIMATE.start_main_~#t3~0#1.base_2|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_4|, #length=|v_#length_14|, #valid=|v_#valid_15|} OutVars{ULTIMATE.start_main_~#t3~0#1.base=|v_ULTIMATE.start_main_~#t3~0#1.base_2|, #StackHeapBarrier=|v_#StackHeapBarrier_4|, #length=|v_#length_13|, ULTIMATE.start_main_~#t3~0#1.offset=|v_ULTIMATE.start_main_~#t3~0#1.offset_2|, #valid=|v_#valid_14|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t3~0#1.offset, #valid, ULTIMATE.start_main_~#t3~0#1.base, #length] 192#[L82-3]true [271] L82-3-->L85: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet10#1] 194#[L85]true [299] L85-->L85-1: Formula: (= |v_ULTIMATE.start_main_#t~nondet10#1_3| v_~M~0_5) InVars {ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_3|} OutVars{~M~0=v_~M~0_5, ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_3|} AuxVars[] AssignedVars[~M~0] 196#[L85-1]true [320] L85-1-->L86: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet10#1] 198#[L86]true [263] L86-->L86-1: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet11#1] 200#[L86-1]true [344] L86-1-->L86-2: Formula: (= |v_ULTIMATE.start_main_#t~nondet11#1_3| v_~N~0_6) InVars {ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_3|} OutVars{ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_3|, ~N~0=v_~N~0_6} AuxVars[] AssignedVars[~N~0] 202#[L86-2]true [415] L86-2-->L87: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet11#1] 204#[L87]true [322] L87-->L87-1: Formula: (= |v_ULTIMATE.start_create_fresh_int_array_#in~size#1_1| v_~N~0_7) InVars {~N~0=v_~N~0_7} OutVars{ULTIMATE.start_create_fresh_int_array_#in~size#1=|v_ULTIMATE.start_create_fresh_int_array_#in~size#1_1|, ~N~0=v_~N~0_7} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_#in~size#1] 206#[L87-1]true [268] L87-1-->L87-2: Formula: true InVars {} OutVars{ULTIMATE.start_create_fresh_int_array_#res#1.base=|v_ULTIMATE.start_create_fresh_int_array_#res#1.base_1|, ULTIMATE.start_create_fresh_int_array_#res#1.offset=|v_ULTIMATE.start_create_fresh_int_array_#res#1.offset_1|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_#res#1.offset, ULTIMATE.start_create_fresh_int_array_#res#1.base] 208#[L87-2]true [265] L87-2-->L105: Formula: true InVars {} OutVars{ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset=|v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset_1|, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset=|v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset_1|, ULTIMATE.start_create_fresh_int_array_~arr~0#1.base=|v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.base_1|, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base=|v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base_1|, ULTIMATE.start_create_fresh_int_array_~i~3#1=|v_ULTIMATE.start_create_fresh_int_array_~i~3#1_1|, ULTIMATE.start_create_fresh_int_array_#t~nondet24#1=|v_ULTIMATE.start_create_fresh_int_array_#t~nondet24#1_1|, ULTIMATE.start_create_fresh_int_array_~size#1=|v_ULTIMATE.start_create_fresh_int_array_~size#1_1|, ULTIMATE.start_create_fresh_int_array_#t~post23#1=|v_ULTIMATE.start_create_fresh_int_array_#t~post23#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset, ULTIMATE.start_create_fresh_int_array_~arr~0#1.base, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base, ULTIMATE.start_create_fresh_int_array_~i~3#1, ULTIMATE.start_create_fresh_int_array_#t~nondet24#1, ULTIMATE.start_create_fresh_int_array_~size#1, ULTIMATE.start_create_fresh_int_array_#t~post23#1] 210#[L105]true [273] L105-->L106: Formula: (= |v_ULTIMATE.start_create_fresh_int_array_~size#1_2| |v_ULTIMATE.start_create_fresh_int_array_#in~size#1_2|) InVars {ULTIMATE.start_create_fresh_int_array_#in~size#1=|v_ULTIMATE.start_create_fresh_int_array_#in~size#1_2|} OutVars{ULTIMATE.start_create_fresh_int_array_#in~size#1=|v_ULTIMATE.start_create_fresh_int_array_#in~size#1_2|, ULTIMATE.start_create_fresh_int_array_~size#1=|v_ULTIMATE.start_create_fresh_int_array_~size#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_~size#1] 212#[L106]true [393] L106-->L106-1: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1| (ite (<= 0 |v_ULTIMATE.start_create_fresh_int_array_~size#1_3|) 1 0)) InVars {ULTIMATE.start_create_fresh_int_array_~size#1=|v_ULTIMATE.start_create_fresh_int_array_~size#1_3|} OutVars{ULTIMATE.start_create_fresh_int_array_~size#1=|v_ULTIMATE.start_create_fresh_int_array_~size#1_3|, 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] 214#[L106-1]true [383] L106-1-->L36: 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] 216#[L36]true [404] L36-->L37: 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] 218#[L37]true [325] L37-->L36-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[] 220#[L36-1]true [389] L36-1-->L106-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] 222#[L106-2]true [319] L106-2-->L107: Formula: true InVars {} OutVars{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] 224#[L107]true [405] L107-->L107-1: Formula: (= (ite (<= (mod |v_ULTIMATE.start_create_fresh_int_array_~size#1_4| 4294967296) 1073741823) 1 0) |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4|) InVars {ULTIMATE.start_create_fresh_int_array_~size#1=|v_ULTIMATE.start_create_fresh_int_array_~size#1_4|} OutVars{ULTIMATE.start_create_fresh_int_array_~size#1=|v_ULTIMATE.start_create_fresh_int_array_~size#1_4|, 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_#in~cond#1] 226#[L107-1]true [398] L107-1-->L36-2: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] 228#[L36-2]true [377] L36-2-->L37-3: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_5| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_7|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_5|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_7|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_5|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] 230#[L37-3]true [294] L37-3-->L36-3: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_9| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_9|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_9|} AuxVars[] AssignedVars[] 232#[L36-3]true [342] L36-3-->L107-2: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_10|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] 234#[L107-2]true [335] L107-2-->L109: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] 236#[L109]true [380] L109-->L109-1: Formula: (and (= |v_#valid_16| (store |v_#valid_17| |v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base_2| 1)) (= (select |v_#valid_17| |v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base_2|) 0) (= |v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset_2| 0) (= |v_#length_15| (store |v_#length_16| |v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base_2| (* 4 (mod |v_ULTIMATE.start_create_fresh_int_array_~size#1_5| 1073741824)))) (< |v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base_2| |v_#StackHeapBarrier_5|) (not (= |v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base_2| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_5|, #length=|v_#length_16|, ULTIMATE.start_create_fresh_int_array_~size#1=|v_ULTIMATE.start_create_fresh_int_array_~size#1_5|, #valid=|v_#valid_17|} OutVars{ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset=|v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset_2|, #StackHeapBarrier=|v_#StackHeapBarrier_5|, #valid=|v_#valid_16|, #length=|v_#length_15|, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base=|v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base_2|, ULTIMATE.start_create_fresh_int_array_~size#1=|v_ULTIMATE.start_create_fresh_int_array_~size#1_5|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset, #valid, #length, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base] 238#[L109-1]true [399] L109-1-->L109-2: Formula: (and (= |v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base_3| |v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.base_2|) (= |v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset_2| |v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset_3|)) InVars {ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base=|v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base_3|, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset=|v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset_3|} OutVars{ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset=|v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset_2|, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset=|v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset_3|, ULTIMATE.start_create_fresh_int_array_~arr~0#1.base=|v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.base_2|, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base=|v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base_3|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset, ULTIMATE.start_create_fresh_int_array_~arr~0#1.base] 240#[L109-2]true [406] L109-2-->L110: Formula: true InVars {} OutVars{ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base=|v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base_4|, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset=|v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset_4|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base] 242#[L110]true [339] L110-->L110-6: Formula: (= |v_ULTIMATE.start_create_fresh_int_array_~i~3#1_2| 0) InVars {} OutVars{ULTIMATE.start_create_fresh_int_array_~i~3#1=|v_ULTIMATE.start_create_fresh_int_array_~i~3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_~i~3#1] 244#[L110-6]true [2024-02-09 23:40:19,987 INFO L750 eck$LassoCheckResult]: Loop: 244#[L110-6]true [279] L110-6-->L111: Formula: (< |v_ULTIMATE.start_create_fresh_int_array_~i~3#1_4| |v_ULTIMATE.start_create_fresh_int_array_~size#1_7|) InVars {ULTIMATE.start_create_fresh_int_array_~i~3#1=|v_ULTIMATE.start_create_fresh_int_array_~i~3#1_4|, ULTIMATE.start_create_fresh_int_array_~size#1=|v_ULTIMATE.start_create_fresh_int_array_~size#1_7|} OutVars{ULTIMATE.start_create_fresh_int_array_~i~3#1=|v_ULTIMATE.start_create_fresh_int_array_~i~3#1_4|, ULTIMATE.start_create_fresh_int_array_~size#1=|v_ULTIMATE.start_create_fresh_int_array_~size#1_7|} AuxVars[] AssignedVars[] 247#[L111]true [275] L111-->L111-1: Formula: true InVars {} OutVars{ULTIMATE.start_create_fresh_int_array_#t~nondet24#1=|v_ULTIMATE.start_create_fresh_int_array_#t~nondet24#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_#t~nondet24#1] 249#[L111-1]true [384] L111-1-->L111-2: Formula: (let ((.cse1 (* 4 |v_ULTIMATE.start_create_fresh_int_array_~i~3#1_5|))) (let ((.cse0 (+ |v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset_3| .cse1))) (and (= (store |v_#memory_int_10| |v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.base_3| (store (select |v_#memory_int_10| |v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.base_3|) .cse0 |v_ULTIMATE.start_create_fresh_int_array_#t~nondet24#1_3|)) |v_#memory_int_9|) (<= (+ |v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset_3| .cse1 4) (select |v_#length_17| |v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.base_3|)) (<= 0 .cse0) (= (select |v_#valid_18| |v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.base_3|) 1)))) InVars {ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset=|v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset_3|, ULTIMATE.start_create_fresh_int_array_~arr~0#1.base=|v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.base_3|, #valid=|v_#valid_18|, #memory_int=|v_#memory_int_10|, #length=|v_#length_17|, ULTIMATE.start_create_fresh_int_array_~i~3#1=|v_ULTIMATE.start_create_fresh_int_array_~i~3#1_5|, ULTIMATE.start_create_fresh_int_array_#t~nondet24#1=|v_ULTIMATE.start_create_fresh_int_array_#t~nondet24#1_3|} OutVars{ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset=|v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset_3|, ULTIMATE.start_create_fresh_int_array_~arr~0#1.base=|v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.base_3|, #valid=|v_#valid_18|, #memory_int=|v_#memory_int_9|, #length=|v_#length_17|, ULTIMATE.start_create_fresh_int_array_~i~3#1=|v_ULTIMATE.start_create_fresh_int_array_~i~3#1_5|, ULTIMATE.start_create_fresh_int_array_#t~nondet24#1=|v_ULTIMATE.start_create_fresh_int_array_#t~nondet24#1_3|} AuxVars[] AssignedVars[#memory_int] 251#[L111-2]true [365] L111-2-->L110-3: Formula: true InVars {} OutVars{ULTIMATE.start_create_fresh_int_array_#t~nondet24#1=|v_ULTIMATE.start_create_fresh_int_array_#t~nondet24#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_#t~nondet24#1] 253#[L110-3]true [348] L110-3-->L110-4: Formula: (= |v_ULTIMATE.start_create_fresh_int_array_#t~post23#1_2| |v_ULTIMATE.start_create_fresh_int_array_~i~3#1_6|) InVars {ULTIMATE.start_create_fresh_int_array_~i~3#1=|v_ULTIMATE.start_create_fresh_int_array_~i~3#1_6|} OutVars{ULTIMATE.start_create_fresh_int_array_~i~3#1=|v_ULTIMATE.start_create_fresh_int_array_~i~3#1_6|, ULTIMATE.start_create_fresh_int_array_#t~post23#1=|v_ULTIMATE.start_create_fresh_int_array_#t~post23#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_#t~post23#1] 255#[L110-4]true [284] L110-4-->L110-5: Formula: (= (+ |v_ULTIMATE.start_create_fresh_int_array_#t~post23#1_3| 1) |v_ULTIMATE.start_create_fresh_int_array_~i~3#1_7|) InVars {ULTIMATE.start_create_fresh_int_array_#t~post23#1=|v_ULTIMATE.start_create_fresh_int_array_#t~post23#1_3|} OutVars{ULTIMATE.start_create_fresh_int_array_~i~3#1=|v_ULTIMATE.start_create_fresh_int_array_~i~3#1_7|, ULTIMATE.start_create_fresh_int_array_#t~post23#1=|v_ULTIMATE.start_create_fresh_int_array_#t~post23#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_~i~3#1] 257#[L110-5]true [276] L110-5-->L110-6: Formula: true InVars {} OutVars{ULTIMATE.start_create_fresh_int_array_#t~post23#1=|v_ULTIMATE.start_create_fresh_int_array_#t~post23#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_#t~post23#1] 244#[L110-6]true [2024-02-09 23:40:19,991 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2024-02-09 23:40:19,992 INFO L85 PathProgramCache]: Analyzing trace with hash 1971176651, now seen corresponding path program 1 times [2024-02-09 23:40:19,998 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-02-09 23:40:19,998 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1481575510] [2024-02-09 23:40:19,998 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-09 23:40:19,999 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-02-09 23:40:20,098 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-02-09 23:40:20,098 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-02-09 23:40:20,126 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-02-09 23:40:20,148 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-02-09 23:40:20,150 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2024-02-09 23:40:20,150 INFO L85 PathProgramCache]: Analyzing trace with hash -102834614, now seen corresponding path program 1 times [2024-02-09 23:40:20,151 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-02-09 23:40:20,151 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1512515959] [2024-02-09 23:40:20,151 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-09 23:40:20,151 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-02-09 23:40:20,165 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-02-09 23:40:20,165 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-02-09 23:40:20,169 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-02-09 23:40:20,171 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-02-09 23:40:20,180 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2024-02-09 23:40:20,180 INFO L85 PathProgramCache]: Analyzing trace with hash 734659136, now seen corresponding path program 1 times [2024-02-09 23:40:20,180 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-02-09 23:40:20,180 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [695887728] [2024-02-09 23:40:20,180 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-09 23:40:20,181 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-02-09 23:40:20,220 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-02-09 23:40:20,221 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-02-09 23:40:20,239 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-02-09 23:40:20,246 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-02-09 23:40:21,258 INFO L210 LassoAnalysis]: Preferences: [2024-02-09 23:40:21,258 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2024-02-09 23:40:21,258 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2024-02-09 23:40:21,258 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2024-02-09 23:40:21,258 INFO L129 ssoRankerPreferences]: Use exernal solver: false [2024-02-09 23:40:21,258 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-09 23:40:21,259 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2024-02-09 23:40:21,259 INFO L132 ssoRankerPreferences]: Path of dumped script: [2024-02-09 23:40:21,259 INFO L133 ssoRankerPreferences]: Filename of dumped script: popl20-more-max-array-hom.wvr.c_BEv2_Iteration1_Lasso [2024-02-09 23:40:21,259 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2024-02-09 23:40:21,259 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2024-02-09 23:40:21,276 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:40:21,315 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:40:21,317 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:40:21,320 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:40:21,322 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:40:21,324 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:40:21,325 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:40:21,329 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:40:21,332 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:40:21,730 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:40:21,733 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:40:21,735 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:40:21,737 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:40:21,740 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:40:21,742 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:40:21,745 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:40:21,746 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:40:21,748 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:40:21,750 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:40:21,752 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:40:21,754 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:40:21,756 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:40:21,758 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:40:21,760 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:40:21,762 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:40:21,764 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:40:21,765 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:40:21,769 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:40:21,771 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:40:21,773 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:40:21,775 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:40:21,777 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:40:21,779 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:40:21,780 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:40:21,782 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:40:21,783 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:40:21,785 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:40:21,787 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-02-09 23:40:22,233 INFO L294 LassoAnalysis]: Preprocessing complete. [2024-02-09 23:40:22,236 INFO L490 LassoAnalysis]: Using template 'affine'. [2024-02-09 23:40:22,239 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-09 23:40:22,239 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-09 23:40:22,242 INFO L229 MonitoredProcess]: Starting monitored process 2 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) [2024-02-09 23:40:22,243 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (2)] Waiting until timeout for monitored process [2024-02-09 23:40:22,244 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-02-09 23:40:22,250 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-02-09 23:40:22,251 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-02-09 23:40:22,251 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-02-09 23:40:22,251 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-02-09 23:40:22,255 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-02-09 23:40:22,255 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-02-09 23:40:22,269 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-02-09 23:40:22,275 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (2)] Forceful destruction successful, exit code 0 [2024-02-09 23:40:22,276 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-09 23:40:22,276 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-09 23:40:22,278 INFO L229 MonitoredProcess]: Starting monitored process 3 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) [2024-02-09 23:40:22,304 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (3)] Waiting until timeout for monitored process [2024-02-09 23:40:22,306 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-02-09 23:40:22,312 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-02-09 23:40:22,312 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-02-09 23:40:22,312 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-02-09 23:40:22,313 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-02-09 23:40:22,313 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-02-09 23:40:22,313 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-02-09 23:40:22,314 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-02-09 23:40:22,329 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-02-09 23:40:22,346 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (3)] Forceful destruction successful, exit code 0 [2024-02-09 23:40:22,347 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-09 23:40:22,347 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-09 23:40:22,353 INFO L229 MonitoredProcess]: Starting monitored process 4 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) [2024-02-09 23:40:22,357 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-02-09 23:40:22,364 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-02-09 23:40:22,364 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-02-09 23:40:22,364 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-02-09 23:40:22,364 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-02-09 23:40:22,369 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-02-09 23:40:22,369 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-02-09 23:40:22,373 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (4)] Waiting until timeout for monitored process [2024-02-09 23:40:22,379 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-02-09 23:40:22,396 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (4)] Forceful destruction successful, exit code 0 [2024-02-09 23:40:22,396 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-09 23:40:22,397 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-09 23:40:22,398 INFO L229 MonitoredProcess]: Starting monitored process 5 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) [2024-02-09 23:40:22,415 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-02-09 23:40:22,421 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-02-09 23:40:22,421 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-02-09 23:40:22,421 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-02-09 23:40:22,422 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-02-09 23:40:22,422 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-02-09 23:40:22,422 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-02-09 23:40:22,422 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-02-09 23:40:22,423 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (5)] Waiting until timeout for monitored process [2024-02-09 23:40:22,436 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-02-09 23:40:22,441 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (5)] Forceful destruction successful, exit code 0 [2024-02-09 23:40:22,442 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-09 23:40:22,442 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-09 23:40:22,450 INFO L229 MonitoredProcess]: Starting monitored process 6 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) [2024-02-09 23:40:22,454 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (6)] Waiting until timeout for monitored process [2024-02-09 23:40:22,465 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-02-09 23:40:22,471 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-02-09 23:40:22,471 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-02-09 23:40:22,471 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-02-09 23:40:22,472 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-02-09 23:40:22,472 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-02-09 23:40:22,472 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-02-09 23:40:22,472 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-02-09 23:40:22,487 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-02-09 23:40:22,508 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (6)] Forceful destruction successful, exit code 0 [2024-02-09 23:40:22,508 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-09 23:40:22,508 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-09 23:40:22,509 INFO L229 MonitoredProcess]: Starting monitored process 7 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) [2024-02-09 23:40:22,512 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-02-09 23:40:22,518 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-02-09 23:40:22,518 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-02-09 23:40:22,518 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-02-09 23:40:22,518 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-02-09 23:40:22,519 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-02-09 23:40:22,520 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-02-09 23:40:22,520 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-02-09 23:40:22,523 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (7)] Waiting until timeout for monitored process [2024-02-09 23:40:22,536 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-02-09 23:40:22,551 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (7)] Forceful destruction successful, exit code 0 [2024-02-09 23:40:22,551 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-09 23:40:22,551 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-09 23:40:22,554 INFO L229 MonitoredProcess]: Starting monitored process 8 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) [2024-02-09 23:40:22,555 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (8)] Waiting until timeout for monitored process [2024-02-09 23:40:22,556 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-02-09 23:40:22,561 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-02-09 23:40:22,562 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-02-09 23:40:22,562 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-02-09 23:40:22,562 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-02-09 23:40:22,562 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-02-09 23:40:22,563 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-02-09 23:40:22,563 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-02-09 23:40:22,575 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-02-09 23:40:22,580 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (8)] Ended with exit code 0 [2024-02-09 23:40:22,583 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-09 23:40:22,583 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-09 23:40:22,584 INFO L229 MonitoredProcess]: Starting monitored process 9 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) [2024-02-09 23:40:22,599 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-02-09 23:40:22,605 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-02-09 23:40:22,605 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-02-09 23:40:22,605 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-02-09 23:40:22,605 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-02-09 23:40:22,606 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-02-09 23:40:22,607 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-02-09 23:40:22,611 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (9)] Waiting until timeout for monitored process [2024-02-09 23:40:22,619 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-02-09 23:40:22,624 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (9)] Forceful destruction successful, exit code 0 [2024-02-09 23:40:22,624 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-09 23:40:22,625 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-09 23:40:22,640 INFO L229 MonitoredProcess]: Starting monitored process 10 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) [2024-02-09 23:40:22,642 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (10)] Waiting until timeout for monitored process [2024-02-09 23:40:22,642 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-02-09 23:40:22,648 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-02-09 23:40:22,648 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-02-09 23:40:22,648 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-02-09 23:40:22,648 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-02-09 23:40:22,650 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-02-09 23:40:22,650 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-02-09 23:40:22,662 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-02-09 23:40:22,681 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (10)] Forceful destruction successful, exit code 0 [2024-02-09 23:40:22,682 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-09 23:40:22,682 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-09 23:40:22,693 INFO L229 MonitoredProcess]: Starting monitored process 11 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) [2024-02-09 23:40:22,719 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (11)] Waiting until timeout for monitored process [2024-02-09 23:40:22,720 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-02-09 23:40:22,726 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-02-09 23:40:22,726 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-02-09 23:40:22,726 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-02-09 23:40:22,726 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-02-09 23:40:22,728 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-02-09 23:40:22,728 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-02-09 23:40:22,744 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-02-09 23:40:22,756 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (11)] Forceful destruction successful, exit code 0 [2024-02-09 23:40:22,756 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-09 23:40:22,757 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-09 23:40:22,758 INFO L229 MonitoredProcess]: Starting monitored process 12 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) [2024-02-09 23:40:22,758 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (12)] Waiting until timeout for monitored process [2024-02-09 23:40:22,761 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-02-09 23:40:22,767 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-02-09 23:40:22,767 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-02-09 23:40:22,767 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-02-09 23:40:22,769 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-02-09 23:40:22,770 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-02-09 23:40:22,770 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-02-09 23:40:22,780 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-02-09 23:40:22,786 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (12)] Forceful destruction successful, exit code 0 [2024-02-09 23:40:22,786 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-09 23:40:22,786 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-09 23:40:22,791 INFO L229 MonitoredProcess]: Starting monitored process 13 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) [2024-02-09 23:40:22,791 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (13)] Waiting until timeout for monitored process [2024-02-09 23:40:22,793 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-02-09 23:40:22,799 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-02-09 23:40:22,799 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-02-09 23:40:22,799 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-02-09 23:40:22,799 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-02-09 23:40:22,799 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-02-09 23:40:22,800 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-02-09 23:40:22,800 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-02-09 23:40:22,801 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-02-09 23:40:22,803 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (13)] Forceful destruction successful, exit code 0 [2024-02-09 23:40:22,803 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-09 23:40:22,804 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-09 23:40:22,804 INFO L229 MonitoredProcess]: Starting monitored process 14 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) [2024-02-09 23:40:22,806 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (14)] Waiting until timeout for monitored process [2024-02-09 23:40:22,807 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-02-09 23:40:22,813 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-02-09 23:40:22,813 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-02-09 23:40:22,813 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-02-09 23:40:22,813 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-02-09 23:40:22,822 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-02-09 23:40:22,822 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-02-09 23:40:22,840 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2024-02-09 23:40:22,853 INFO L443 ModelExtractionUtils]: Simplification made 6 calls to the SMT solver. [2024-02-09 23:40:22,853 INFO L444 ModelExtractionUtils]: 10 out of 22 variables were initially zero. Simplification set additionally 9 variables to zero. [2024-02-09 23:40:22,855 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-02-09 23:40:22,855 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-09 23:40:22,856 INFO L229 MonitoredProcess]: Starting monitored process 15 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) [2024-02-09 23:40:22,872 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2024-02-09 23:40:22,881 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (15)] Waiting until timeout for monitored process [2024-02-09 23:40:22,889 INFO L438 nArgumentSynthesizer]: Removed 2 redundant supporting invariants from a total of 2. [2024-02-09 23:40:22,889 INFO L513 LassoAnalysis]: Proved termination. [2024-02-09 23:40:22,890 INFO L515 LassoAnalysis]: Termination argument consisting of: Ranking function f(ULTIMATE.start_create_fresh_int_array_~i~3#1, ULTIMATE.start_create_fresh_int_array_~size#1) = -1*ULTIMATE.start_create_fresh_int_array_~i~3#1 + 1*ULTIMATE.start_create_fresh_int_array_~size#1 Supporting invariants [] [2024-02-09 23:40:22,895 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (14)] Forceful destruction successful, exit code 0 [2024-02-09 23:40:22,977 INFO L156 tatePredicateManager]: 20 out of 20 supporting invariants were superfluous and have been removed [2024-02-09 23:40:22,983 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (15)] Ended with exit code 0 [2024-02-09 23:40:23,000 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2024-02-09 23:40:23,048 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-02-09 23:40:23,050 INFO L262 TraceCheckSpWp]: Trace formula consists of 118 conjuncts, 2 conjunts are in the unsatisfiable core [2024-02-09 23:40:23,052 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-02-09 23:40:23,123 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-02-09 23:40:23,123 INFO L262 TraceCheckSpWp]: Trace formula consists of 18 conjuncts, 5 conjunts are in the unsatisfiable core [2024-02-09 23:40:23,124 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-02-09 23:40:23,169 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-02-09 23:40:23,192 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 4 loop predicates [2024-02-09 23:40:23,194 INFO L162 BuchiComplementFKV]: Start buchiComplementFKV with optimization HEIMAT2. Operand has 5 states, 5 states have (on average 10.0) internal successors, (50), 5 states have internal predecessors, (50), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-02-09 23:40:23,441 INFO L171 BuchiComplementFKV]: Finished buchiComplementFKV with optimization HEIMAT2. Operand has 5 states, 5 states have (on average 10.0) internal successors, (50), 5 states have internal predecessors, (50), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Result 13 states and 2864 transitions.8 powerset states5 rank states. The highest rank that occured is 1 [2024-02-09 23:40:23,442 INFO L89 BuchiIntersect]: Starting Intersection [2024-02-09 23:40:23,442 INFO L72 uchiIntersectDefault]: Starting Basic Intersection [2024-02-09 23:40:23,458 INFO L85 uchiIntersectDefault]: Exiting Basic Intersection [2024-02-09 23:40:23,458 INFO L99 BuchiIntersect]: Exiting Intersection [2024-02-09 23:40:23,460 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 7 states 1 stem states 4 non-accepting loop states 1 accepting loop states [2024-02-09 23:40:23,463 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 10.0) internal successors, (50), 5 states have internal predecessors, (50), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-02-09 23:40:23,468 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 1087 transitions. [2024-02-09 23:40:23,469 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 7 states and 1087 transitions. Stem has 43 letters. Loop has 7 letters. [2024-02-09 23:40:23,469 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-02-09 23:40:23,469 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 7 states and 1087 transitions. Stem has 50 letters. Loop has 7 letters. [2024-02-09 23:40:23,470 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-02-09 23:40:23,470 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 7 states and 1087 transitions. Stem has 43 letters. Loop has 14 letters. [2024-02-09 23:40:23,470 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-02-09 23:40:23,470 INFO L428 stractBuchiCegarLoop]: Abstraction has has 177 places, 5500 transitions, 22684 flow [2024-02-09 23:40:23,470 INFO L335 stractBuchiCegarLoop]: ======== Iteration 2 ============ [2024-02-09 23:40:23,470 INFO L84 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 177 places, 5500 transitions, 22684 flow [2024-02-09 23:40:23,537 INFO L185 PetriNetUnfolderBase]: Found word, exiting Unfolder. [2024-02-09 23:40:23,537 INFO L124 PetriNetUnfolderBase]: 141/442 cut-off events. [2024-02-09 23:40:23,537 INFO L125 PetriNetUnfolderBase]: For 0/0 co-relation queries the response was YES. [2024-02-09 23:40:23,537 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty language is not empty [2024-02-09 23:40:23,538 INFO L748 eck$LassoCheckResult]: Stem: 158#[$Ultimate##0]true [290] $Ultimate##0-->L-1: Formula: (= (select |v_#valid_7| 0) 0) InVars {#valid=|v_#valid_7|} OutVars{#valid=|v_#valid_7|} AuxVars[] AssignedVars[] 160#[L-1]true [304] L-1-->L21: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] 162#[L21]true [364] L21-->L21-1: Formula: (and (= (select |v_#valid_8| 1) 1) (= 2 (select |v_#length_7| 1))) InVars {#length=|v_#length_7|, #valid=|v_#valid_8|} OutVars{#length=|v_#length_7|, #valid=|v_#valid_8|} AuxVars[] AssignedVars[] 164#[L21-1]true [392] L21-1-->L21-2: Formula: (= (select (select |v_#memory_int_7| 1) 0) 48) InVars {#memory_int=|v_#memory_int_7|} OutVars{#memory_int=|v_#memory_int_7|} AuxVars[] AssignedVars[] 166#[L21-2]true [315] L21-2-->L21-3: Formula: (= (select (select |v_#memory_int_8| 1) 1) 0) InVars {#memory_int=|v_#memory_int_8|} OutVars{#memory_int=|v_#memory_int_8|} AuxVars[] AssignedVars[] 168#[L21-3]true [355] L21-3-->L21-4: Formula: (and (= (select |v_#valid_9| 2) 1) (= 32 (select |v_#length_8| 2))) InVars {#length=|v_#length_8|, #valid=|v_#valid_9|} OutVars{#length=|v_#length_8|, #valid=|v_#valid_9|} AuxVars[] AssignedVars[] 170#[L21-4]true [331] L21-4-->L41: Formula: (and (= v_~A~0.base_7 0) (= v_~A~0.offset_7 0)) InVars {} OutVars{~A~0.base=v_~A~0.base_7, ~A~0.offset=v_~A~0.offset_7} AuxVars[] AssignedVars[~A~0.base, ~A~0.offset] 172#[L41]true [287] L41-->L41-1: Formula: (= v_~max1~0_4 0) InVars {} OutVars{~max1~0=v_~max1~0_4} AuxVars[] AssignedVars[~max1~0] 174#[L41-1]true [305] L41-1-->L41-2: Formula: (= v_~max2~0_4 0) InVars {} OutVars{~max2~0=v_~max2~0_4} AuxVars[] AssignedVars[~max2~0] 176#[L41-2]true [318] L41-2-->L41-3: Formula: (= v_~max3~0_4 0) InVars {} OutVars{~max3~0=v_~max3~0_4} AuxVars[] AssignedVars[~max3~0] 178#[L41-3]true [390] L41-3-->L41-4: Formula: (= v_~M~0_4 0) InVars {} OutVars{~M~0=v_~M~0_4} AuxVars[] AssignedVars[~M~0] 180#[L41-4]true [391] L41-4-->L-1-1: Formula: (= v_~N~0_5 0) InVars {} OutVars{~N~0=v_~N~0_5} AuxVars[] AssignedVars[~N~0] 182#[L-1-1]true [407] L-1-1-->L-1-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] 184#[L-1-2]true [409] L-1-2-->L82: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre13#1=|v_ULTIMATE.start_main_#t~pre13#1_1|, ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_1|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_1|, ULTIMATE.start_main_~#t3~0#1.offset=|v_ULTIMATE.start_main_~#t3~0#1.offset_1|, ULTIMATE.start_main_~#t3~0#1.base=|v_ULTIMATE.start_main_~#t3~0#1.base_1|, ULTIMATE.start_main_#t~pre15#1=|v_ULTIMATE.start_main_#t~pre15#1_1|, ULTIMATE.start_main_#t~nondet18#1=|v_ULTIMATE.start_main_#t~nondet18#1_1|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_1|, ULTIMATE.start_main_#t~pre17#1=|v_ULTIMATE.start_main_#t~pre17#1_1|, ULTIMATE.start_main_#t~mem21#1=|v_ULTIMATE.start_main_#t~mem21#1_1|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_1|, ULTIMATE.start_main_#t~nondet14#1=|v_ULTIMATE.start_main_#t~nondet14#1_1|, ULTIMATE.start_main_#t~mem19#1=|v_ULTIMATE.start_main_#t~mem19#1_1|, ULTIMATE.start_main_#t~mem20#1=|v_ULTIMATE.start_main_#t~mem20#1_1|, ULTIMATE.start_main_#t~nondet16#1=|v_ULTIMATE.start_main_#t~nondet16#1_1|, ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_1|, ULTIMATE.start_main_#t~ret12#1.offset=|v_ULTIMATE.start_main_#t~ret12#1.offset_1|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_1|, ULTIMATE.start_main_#t~ret12#1.base=|v_ULTIMATE.start_main_#t~ret12#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre13#1, ULTIMATE.start_main_#t~nondet10#1, ULTIMATE.start_main_~#t2~0#1.offset, ULTIMATE.start_main_~#t3~0#1.offset, ULTIMATE.start_main_~#t3~0#1.base, ULTIMATE.start_main_#t~pre15#1, ULTIMATE.start_main_#t~nondet18#1, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_#t~pre17#1, ULTIMATE.start_main_#t~mem21#1, ULTIMATE.start_main_~#t1~0#1.offset, ULTIMATE.start_main_#t~nondet14#1, ULTIMATE.start_main_#t~mem19#1, ULTIMATE.start_main_#t~mem20#1, ULTIMATE.start_main_#t~nondet16#1, ULTIMATE.start_main_#t~nondet11#1, ULTIMATE.start_main_#t~ret12#1.offset, ULTIMATE.start_main_~#t2~0#1.base, ULTIMATE.start_main_#t~ret12#1.base] 186#[L82]true [360] L82-->L82-1: Formula: (and (= (store |v_#valid_11| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 1) |v_#valid_10|) (= |v_ULTIMATE.start_main_~#t1~0#1.offset_2| 0) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) (not (= |v_ULTIMATE.start_main_~#t1~0#1.base_2| 0)) (= (store |v_#length_10| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 4) |v_#length_9|) (= (select |v_#valid_11| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_10|, #valid=|v_#valid_11|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_9|, 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_10|} AuxVars[] AssignedVars[#valid, #length, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset] 188#[L82-1]true [269] L82-1-->L82-2: Formula: (and (= (select |v_#valid_13| |v_ULTIMATE.start_main_~#t2~0#1.base_2|) 0) (= (store |v_#valid_13| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 1) |v_#valid_12|) (= (store |v_#length_12| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 4) |v_#length_11|) (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_12|, #valid=|v_#valid_13|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_11|, 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_12|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t2~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t2~0#1.base] 190#[L82-2]true [411] L82-2-->L82-3: Formula: (and (= |v_ULTIMATE.start_main_~#t3~0#1.offset_2| 0) (not (= |v_ULTIMATE.start_main_~#t3~0#1.base_2| 0)) (= |v_#valid_14| (store |v_#valid_15| |v_ULTIMATE.start_main_~#t3~0#1.base_2| 1)) (= (select |v_#valid_15| |v_ULTIMATE.start_main_~#t3~0#1.base_2|) 0) (= (store |v_#length_14| |v_ULTIMATE.start_main_~#t3~0#1.base_2| 4) |v_#length_13|) (< |v_#StackHeapBarrier_4| |v_ULTIMATE.start_main_~#t3~0#1.base_2|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_4|, #length=|v_#length_14|, #valid=|v_#valid_15|} OutVars{ULTIMATE.start_main_~#t3~0#1.base=|v_ULTIMATE.start_main_~#t3~0#1.base_2|, #StackHeapBarrier=|v_#StackHeapBarrier_4|, #length=|v_#length_13|, ULTIMATE.start_main_~#t3~0#1.offset=|v_ULTIMATE.start_main_~#t3~0#1.offset_2|, #valid=|v_#valid_14|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t3~0#1.offset, #valid, ULTIMATE.start_main_~#t3~0#1.base, #length] 192#[L82-3]true [271] L82-3-->L85: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet10#1] 194#[L85]true [299] L85-->L85-1: Formula: (= |v_ULTIMATE.start_main_#t~nondet10#1_3| v_~M~0_5) InVars {ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_3|} OutVars{~M~0=v_~M~0_5, ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_3|} AuxVars[] AssignedVars[~M~0] 196#[L85-1]true [320] L85-1-->L86: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet10#1] 198#[L86]true [263] L86-->L86-1: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet11#1] 200#[L86-1]true [344] L86-1-->L86-2: Formula: (= |v_ULTIMATE.start_main_#t~nondet11#1_3| v_~N~0_6) InVars {ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_3|} OutVars{ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_3|, ~N~0=v_~N~0_6} AuxVars[] AssignedVars[~N~0] 202#[L86-2]true [415] L86-2-->L87: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet11#1] 204#[L87]true [322] L87-->L87-1: Formula: (= |v_ULTIMATE.start_create_fresh_int_array_#in~size#1_1| v_~N~0_7) InVars {~N~0=v_~N~0_7} OutVars{ULTIMATE.start_create_fresh_int_array_#in~size#1=|v_ULTIMATE.start_create_fresh_int_array_#in~size#1_1|, ~N~0=v_~N~0_7} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_#in~size#1] 206#[L87-1]true [268] L87-1-->L87-2: Formula: true InVars {} OutVars{ULTIMATE.start_create_fresh_int_array_#res#1.base=|v_ULTIMATE.start_create_fresh_int_array_#res#1.base_1|, ULTIMATE.start_create_fresh_int_array_#res#1.offset=|v_ULTIMATE.start_create_fresh_int_array_#res#1.offset_1|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_#res#1.offset, ULTIMATE.start_create_fresh_int_array_#res#1.base] 208#[L87-2]true [265] L87-2-->L105: Formula: true InVars {} OutVars{ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset=|v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset_1|, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset=|v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset_1|, ULTIMATE.start_create_fresh_int_array_~arr~0#1.base=|v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.base_1|, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base=|v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base_1|, ULTIMATE.start_create_fresh_int_array_~i~3#1=|v_ULTIMATE.start_create_fresh_int_array_~i~3#1_1|, ULTIMATE.start_create_fresh_int_array_#t~nondet24#1=|v_ULTIMATE.start_create_fresh_int_array_#t~nondet24#1_1|, ULTIMATE.start_create_fresh_int_array_~size#1=|v_ULTIMATE.start_create_fresh_int_array_~size#1_1|, ULTIMATE.start_create_fresh_int_array_#t~post23#1=|v_ULTIMATE.start_create_fresh_int_array_#t~post23#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset, ULTIMATE.start_create_fresh_int_array_~arr~0#1.base, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base, ULTIMATE.start_create_fresh_int_array_~i~3#1, ULTIMATE.start_create_fresh_int_array_#t~nondet24#1, ULTIMATE.start_create_fresh_int_array_~size#1, ULTIMATE.start_create_fresh_int_array_#t~post23#1] 210#[L105]true [273] L105-->L106: Formula: (= |v_ULTIMATE.start_create_fresh_int_array_~size#1_2| |v_ULTIMATE.start_create_fresh_int_array_#in~size#1_2|) InVars {ULTIMATE.start_create_fresh_int_array_#in~size#1=|v_ULTIMATE.start_create_fresh_int_array_#in~size#1_2|} OutVars{ULTIMATE.start_create_fresh_int_array_#in~size#1=|v_ULTIMATE.start_create_fresh_int_array_#in~size#1_2|, ULTIMATE.start_create_fresh_int_array_~size#1=|v_ULTIMATE.start_create_fresh_int_array_~size#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_~size#1] 212#[L106]true [393] L106-->L106-1: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1| (ite (<= 0 |v_ULTIMATE.start_create_fresh_int_array_~size#1_3|) 1 0)) InVars {ULTIMATE.start_create_fresh_int_array_~size#1=|v_ULTIMATE.start_create_fresh_int_array_~size#1_3|} OutVars{ULTIMATE.start_create_fresh_int_array_~size#1=|v_ULTIMATE.start_create_fresh_int_array_~size#1_3|, 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] 214#[L106-1]true [383] L106-1-->L36: 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] 216#[L36]true [404] L36-->L37: 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] 218#[L37]true [325] L37-->L36-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[] 220#[L36-1]true [389] L36-1-->L106-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] 222#[L106-2]true [319] L106-2-->L107: Formula: true InVars {} OutVars{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] 224#[L107]true [405] L107-->L107-1: Formula: (= (ite (<= (mod |v_ULTIMATE.start_create_fresh_int_array_~size#1_4| 4294967296) 1073741823) 1 0) |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4|) InVars {ULTIMATE.start_create_fresh_int_array_~size#1=|v_ULTIMATE.start_create_fresh_int_array_~size#1_4|} OutVars{ULTIMATE.start_create_fresh_int_array_~size#1=|v_ULTIMATE.start_create_fresh_int_array_~size#1_4|, 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_#in~cond#1] 226#[L107-1]true [398] L107-1-->L36-2: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] 228#[L36-2]true [377] L36-2-->L37-3: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_5| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_7|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_5|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_7|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_5|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] 230#[L37-3]true [294] L37-3-->L36-3: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_9| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_9|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_9|} AuxVars[] AssignedVars[] 232#[L36-3]true [342] L36-3-->L107-2: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_10|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] 234#[L107-2]true [335] L107-2-->L109: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] 236#[L109]true [380] L109-->L109-1: Formula: (and (= |v_#valid_16| (store |v_#valid_17| |v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base_2| 1)) (= (select |v_#valid_17| |v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base_2|) 0) (= |v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset_2| 0) (= |v_#length_15| (store |v_#length_16| |v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base_2| (* 4 (mod |v_ULTIMATE.start_create_fresh_int_array_~size#1_5| 1073741824)))) (< |v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base_2| |v_#StackHeapBarrier_5|) (not (= |v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base_2| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_5|, #length=|v_#length_16|, ULTIMATE.start_create_fresh_int_array_~size#1=|v_ULTIMATE.start_create_fresh_int_array_~size#1_5|, #valid=|v_#valid_17|} OutVars{ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset=|v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset_2|, #StackHeapBarrier=|v_#StackHeapBarrier_5|, #valid=|v_#valid_16|, #length=|v_#length_15|, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base=|v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base_2|, ULTIMATE.start_create_fresh_int_array_~size#1=|v_ULTIMATE.start_create_fresh_int_array_~size#1_5|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset, #valid, #length, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base] 238#[L109-1]true [399] L109-1-->L109-2: Formula: (and (= |v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base_3| |v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.base_2|) (= |v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset_2| |v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset_3|)) InVars {ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base=|v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base_3|, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset=|v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset_3|} OutVars{ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset=|v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset_2|, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset=|v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset_3|, ULTIMATE.start_create_fresh_int_array_~arr~0#1.base=|v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.base_2|, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base=|v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base_3|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset, ULTIMATE.start_create_fresh_int_array_~arr~0#1.base] 240#[L109-2]true [406] L109-2-->L110: Formula: true InVars {} OutVars{ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base=|v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base_4|, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset=|v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset_4|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base] 242#[L110]true [339] L110-->L110-6: Formula: (= |v_ULTIMATE.start_create_fresh_int_array_~i~3#1_2| 0) InVars {} OutVars{ULTIMATE.start_create_fresh_int_array_~i~3#1=|v_ULTIMATE.start_create_fresh_int_array_~i~3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_~i~3#1] 244#[L110-6]true [280] L110-6-->L110-7: Formula: (<= |v_ULTIMATE.start_create_fresh_int_array_~size#1_6| |v_ULTIMATE.start_create_fresh_int_array_~i~3#1_3|) InVars {ULTIMATE.start_create_fresh_int_array_~i~3#1=|v_ULTIMATE.start_create_fresh_int_array_~i~3#1_3|, ULTIMATE.start_create_fresh_int_array_~size#1=|v_ULTIMATE.start_create_fresh_int_array_~size#1_6|} OutVars{ULTIMATE.start_create_fresh_int_array_~i~3#1=|v_ULTIMATE.start_create_fresh_int_array_~i~3#1_3|, ULTIMATE.start_create_fresh_int_array_~size#1=|v_ULTIMATE.start_create_fresh_int_array_~size#1_6|} AuxVars[] AssignedVars[] 633#[L110-7]true [321] L110-7-->L113: Formula: true InVars {} OutVars{ULTIMATE.start_create_fresh_int_array_~i~3#1=|v_ULTIMATE.start_create_fresh_int_array_~i~3#1_8|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_~i~3#1] 635#[L113]true [385] L113-->create_fresh_int_array_returnLabel#1: Formula: (and (= |v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.base_4| |v_ULTIMATE.start_create_fresh_int_array_#res#1.base_2|) (= |v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset_4| |v_ULTIMATE.start_create_fresh_int_array_#res#1.offset_2|)) InVars {ULTIMATE.start_create_fresh_int_array_~arr~0#1.base=|v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.base_4|, ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset=|v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset_4|} OutVars{ULTIMATE.start_create_fresh_int_array_#res#1.offset=|v_ULTIMATE.start_create_fresh_int_array_#res#1.offset_2|, ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset=|v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset_4|, ULTIMATE.start_create_fresh_int_array_~arr~0#1.base=|v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.base_4|, ULTIMATE.start_create_fresh_int_array_#res#1.base=|v_ULTIMATE.start_create_fresh_int_array_#res#1.base_2|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_#res#1.offset, ULTIMATE.start_create_fresh_int_array_#res#1.base] 637#[create_fresh_int_array_returnLabel#1]true [388] create_fresh_int_array_returnLabel#1-->L87-3: Formula: (and (= |v_ULTIMATE.start_main_#t~ret12#1.offset_2| |v_ULTIMATE.start_create_fresh_int_array_#res#1.offset_3|) (= |v_ULTIMATE.start_main_#t~ret12#1.base_2| |v_ULTIMATE.start_create_fresh_int_array_#res#1.base_3|)) InVars {ULTIMATE.start_create_fresh_int_array_#res#1.base=|v_ULTIMATE.start_create_fresh_int_array_#res#1.base_3|, ULTIMATE.start_create_fresh_int_array_#res#1.offset=|v_ULTIMATE.start_create_fresh_int_array_#res#1.offset_3|} OutVars{ULTIMATE.start_create_fresh_int_array_#res#1.offset=|v_ULTIMATE.start_create_fresh_int_array_#res#1.offset_3|, ULTIMATE.start_create_fresh_int_array_#res#1.base=|v_ULTIMATE.start_create_fresh_int_array_#res#1.base_3|, ULTIMATE.start_main_#t~ret12#1.offset=|v_ULTIMATE.start_main_#t~ret12#1.offset_2|, ULTIMATE.start_main_#t~ret12#1.base=|v_ULTIMATE.start_main_#t~ret12#1.base_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~ret12#1.offset, ULTIMATE.start_main_#t~ret12#1.base] 639#[L87-3]true [277] L87-3-->L87-4: Formula: true InVars {} OutVars{ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset=|v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset_5|, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset=|v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset_5|, ULTIMATE.start_create_fresh_int_array_~arr~0#1.base=|v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.base_5|, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base=|v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base_5|, ULTIMATE.start_create_fresh_int_array_~i~3#1=|v_ULTIMATE.start_create_fresh_int_array_~i~3#1_9|, ULTIMATE.start_create_fresh_int_array_#t~nondet24#1=|v_ULTIMATE.start_create_fresh_int_array_#t~nondet24#1_5|, ULTIMATE.start_create_fresh_int_array_~size#1=|v_ULTIMATE.start_create_fresh_int_array_~size#1_8|, ULTIMATE.start_create_fresh_int_array_#t~post23#1=|v_ULTIMATE.start_create_fresh_int_array_#t~post23#1_5|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset, ULTIMATE.start_create_fresh_int_array_~arr~0#1.base, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base, ULTIMATE.start_create_fresh_int_array_~i~3#1, ULTIMATE.start_create_fresh_int_array_#t~nondet24#1, ULTIMATE.start_create_fresh_int_array_~size#1, ULTIMATE.start_create_fresh_int_array_#t~post23#1] 641#[L87-4]true [295] L87-4-->L87-5: Formula: true InVars {} OutVars{ULTIMATE.start_create_fresh_int_array_#in~size#1=|v_ULTIMATE.start_create_fresh_int_array_#in~size#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_#in~size#1] 643#[L87-5]true [332] L87-5-->L87-6: Formula: (and (= |v_ULTIMATE.start_main_#t~ret12#1.offset_3| v_~A~0.offset_8) (= v_~A~0.base_8 |v_ULTIMATE.start_main_#t~ret12#1.base_3|)) InVars {ULTIMATE.start_main_#t~ret12#1.offset=|v_ULTIMATE.start_main_#t~ret12#1.offset_3|, ULTIMATE.start_main_#t~ret12#1.base=|v_ULTIMATE.start_main_#t~ret12#1.base_3|} OutVars{~A~0.base=v_~A~0.base_8, ~A~0.offset=v_~A~0.offset_8, ULTIMATE.start_main_#t~ret12#1.offset=|v_ULTIMATE.start_main_#t~ret12#1.offset_3|, ULTIMATE.start_main_#t~ret12#1.base=|v_ULTIMATE.start_main_#t~ret12#1.base_3|} AuxVars[] AssignedVars[~A~0.base, ~A~0.offset] 645#[L87-6]true [274] L87-6-->L89: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~ret12#1.offset=|v_ULTIMATE.start_main_#t~ret12#1.offset_4|, ULTIMATE.start_main_#t~ret12#1.base=|v_ULTIMATE.start_main_#t~ret12#1.base_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~ret12#1.offset, ULTIMATE.start_main_#t~ret12#1.base] 647#[L89]true [341] L89-->L89-1: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_7| (ite (and (< v_~M~0_6 v_~N~0_8) (<= 0 v_~M~0_6)) 1 0)) InVars {~M~0=v_~M~0_6, ~N~0=v_~N~0_8} OutVars{~N~0=v_~N~0_8, ~M~0=v_~M~0_6, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] 649#[L89-1]true [317] L89-1-->L36-4: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_11|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] 651#[L36-4]true [286] L36-4-->L37-6: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_8| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_12|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_8|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_12|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_8|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] 653#[L37-6]true [337] L37-6-->L37-7: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_13| 0) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_13|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_13|} AuxVars[] AssignedVars[] 655#[L37-7]true [357] L37-7-->L36-5: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] 657#[L36-5]true [312] L36-5-->L89-2: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_15|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] 659#[L89-2]true [353] L89-2-->L92: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_9|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] 661#[L92]true [381] L92-->L92-1: Formula: (= |v_ULTIMATE.start_main_#t~pre13#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre13#1=|v_ULTIMATE.start_main_#t~pre13#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre13#1] 663#[L92-1]true [370] L92-1-->L92-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 665#[L92-2]true [329] L92-2-->L92-3: Formula: (and (= (select |v_#valid_19| |v_ULTIMATE.start_main_~#t1~0#1.base_3|) 1) (= |v_#memory_int_11| (store |v_#memory_int_12| |v_ULTIMATE.start_main_~#t1~0#1.base_3| (store (select |v_#memory_int_12| |v_ULTIMATE.start_main_~#t1~0#1.base_3|) |v_ULTIMATE.start_main_~#t1~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre13#1_3|))) (<= 0 |v_ULTIMATE.start_main_~#t1~0#1.offset_3|) (<= (+ |v_ULTIMATE.start_main_~#t1~0#1.offset_3| 4) (select |v_#length_18| |v_ULTIMATE.start_main_~#t1~0#1.base_3|))) InVars {ULTIMATE.start_main_#t~pre13#1=|v_ULTIMATE.start_main_#t~pre13#1_3|, #valid=|v_#valid_19|, #memory_int=|v_#memory_int_12|, #length=|v_#length_18|, 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~pre13#1=|v_ULTIMATE.start_main_#t~pre13#1_3|, #valid=|v_#valid_19|, #memory_int=|v_#memory_int_11|, #length=|v_#length_18|, 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] 667#[L92-3]true [457] L92-3-->$Ultimate##0: Formula: (and (= |v_ULTIMATE.start_main_#t~pre13#1_7| v_thread1Thread1of1ForFork2_thidvar0_2) (= 0 v_thread1Thread1of1ForFork2_thidvar1_2)) InVars {ULTIMATE.start_main_#t~pre13#1=|v_ULTIMATE.start_main_#t~pre13#1_7|} OutVars{thread1Thread1of1ForFork2_thidvar1=v_thread1Thread1of1ForFork2_thidvar1_2, thread1Thread1of1ForFork2_thidvar0=v_thread1Thread1of1ForFork2_thidvar0_2, thread1Thread1of1ForFork2_#res.base=|v_thread1Thread1of1ForFork2_#res.base_4|, ULTIMATE.start_main_#t~pre13#1=|v_ULTIMATE.start_main_#t~pre13#1_7|, thread1Thread1of1ForFork2_#t~mem2=|v_thread1Thread1of1ForFork2_#t~mem2_4|, thread1Thread1of1ForFork2_#t~mem3=|v_thread1Thread1of1ForFork2_#t~mem3_6|, thread1Thread1of1ForFork2_~i~0=v_thread1Thread1of1ForFork2_~i~0_16, thread1Thread1of1ForFork2_#t~post1=|v_thread1Thread1of1ForFork2_#t~post1_8|, thread1Thread1of1ForFork2_#res.offset=|v_thread1Thread1of1ForFork2_#res.offset_4|} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_thidvar1, thread1Thread1of1ForFork2_thidvar0, thread1Thread1of1ForFork2_#res.base, thread1Thread1of1ForFork2_#t~mem2, thread1Thread1of1ForFork2_#t~mem3, thread1Thread1of1ForFork2_~i~0, thread1Thread1of1ForFork2_#t~post1, thread1Thread1of1ForFork2_#res.offset] 669#[L92-4, $Ultimate##0]true [416] $Ultimate##0-->L46-4: Formula: (= v_thread1Thread1of1ForFork2_~i~0_1 0) InVars {} OutVars{thread1Thread1of1ForFork2_~i~0=v_thread1Thread1of1ForFork2_~i~0_1} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_~i~0] 671#[L46-4, L92-4]true [417] L46-4-->L47: Formula: (< v_thread1Thread1of1ForFork2_~i~0_3 v_~N~0_2) InVars {thread1Thread1of1ForFork2_~i~0=v_thread1Thread1of1ForFork2_~i~0_3, ~N~0=v_~N~0_2} OutVars{thread1Thread1of1ForFork2_~i~0=v_thread1Thread1of1ForFork2_~i~0_3, ~N~0=v_~N~0_2} AuxVars[] AssignedVars[] 673#[L47, L92-4]true [420] L47-->L48-4: Formula: (let ((.cse5 (* v_thread1Thread1of1ForFork2_~i~0_7 4))) (let ((.cse4 (+ .cse5 v_~A~0.offset_27))) (let ((.cse0 (<= (+ .cse5 v_~A~0.offset_27 4) (select |v_#length_42| v_~A~0.base_27))) (.cse2 (<= 0 .cse4)) (.cse3 (= (select |v_#valid_49| v_~A~0.base_27) 1))) (and .cse0 (let ((.cse1 (select (select |v_#memory_int_38| v_~A~0.base_27) .cse4))) (or (and .cse0 (< v_~max1~0_21 .cse1) .cse2 (= v_~max1~0_20 .cse1) .cse3) (and (<= .cse1 v_~max1~0_21) (= |v_thread1Thread1of1ForFork2_#t~mem3_2| |v_thread1Thread1of1ForFork2_#t~mem3_1|) (= v_~max1~0_21 v_~max1~0_20)))) .cse2 .cse3)))) InVars {~max1~0=v_~max1~0_21, ~A~0.base=v_~A~0.base_27, ~A~0.offset=v_~A~0.offset_27, thread1Thread1of1ForFork2_#t~mem3=|v_thread1Thread1of1ForFork2_#t~mem3_1|, thread1Thread1of1ForFork2_~i~0=v_thread1Thread1of1ForFork2_~i~0_7, #valid=|v_#valid_49|, #memory_int=|v_#memory_int_38|, #length=|v_#length_42|} OutVars{~max1~0=v_~max1~0_20, ~A~0.base=v_~A~0.base_27, ~A~0.offset=v_~A~0.offset_27, thread1Thread1of1ForFork2_#t~mem2=|v_thread1Thread1of1ForFork2_#t~mem2_1|, thread1Thread1of1ForFork2_#t~mem3=|v_thread1Thread1of1ForFork2_#t~mem3_2|, thread1Thread1of1ForFork2_~i~0=v_thread1Thread1of1ForFork2_~i~0_7, #valid=|v_#valid_49|, #memory_int=|v_#memory_int_38|, #length=|v_#length_42|} AuxVars[] AssignedVars[~max1~0, thread1Thread1of1ForFork2_#t~mem2, thread1Thread1of1ForFork2_#t~mem3] 675#[L48-4, L92-4]true [422] L48-4-->L46-2: Formula: (= |v_thread1Thread1of1ForFork2_#t~post1_1| v_thread1Thread1of1ForFork2_~i~0_11) InVars {thread1Thread1of1ForFork2_~i~0=v_thread1Thread1of1ForFork2_~i~0_11} OutVars{thread1Thread1of1ForFork2_~i~0=v_thread1Thread1of1ForFork2_~i~0_11, thread1Thread1of1ForFork2_#t~post1=|v_thread1Thread1of1ForFork2_#t~post1_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_#t~post1] 677#[L46-2, L92-4]true [424] L46-2-->L46-3: Formula: (= (+ |v_thread1Thread1of1ForFork2_#t~post1_3| 1) v_thread1Thread1of1ForFork2_~i~0_13) InVars {thread1Thread1of1ForFork2_#t~post1=|v_thread1Thread1of1ForFork2_#t~post1_3|} OutVars{thread1Thread1of1ForFork2_~i~0=v_thread1Thread1of1ForFork2_~i~0_13, thread1Thread1of1ForFork2_#t~post1=|v_thread1Thread1of1ForFork2_#t~post1_3|} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_~i~0] 679#[L92-4, L46-3]true [426] L46-3-->L46-4: Formula: true InVars {} OutVars{thread1Thread1of1ForFork2_#t~post1=|v_thread1Thread1of1ForFork2_#t~post1_5|} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_#t~post1] 671#[L46-4, L92-4]true [2024-02-09 23:40:23,539 INFO L750 eck$LassoCheckResult]: Loop: 671#[L46-4, L92-4]true [417] L46-4-->L47: Formula: (< v_thread1Thread1of1ForFork2_~i~0_3 v_~N~0_2) InVars {thread1Thread1of1ForFork2_~i~0=v_thread1Thread1of1ForFork2_~i~0_3, ~N~0=v_~N~0_2} OutVars{thread1Thread1of1ForFork2_~i~0=v_thread1Thread1of1ForFork2_~i~0_3, ~N~0=v_~N~0_2} AuxVars[] AssignedVars[] 673#[L47, L92-4]true [420] L47-->L48-4: Formula: (let ((.cse5 (* v_thread1Thread1of1ForFork2_~i~0_7 4))) (let ((.cse4 (+ .cse5 v_~A~0.offset_27))) (let ((.cse0 (<= (+ .cse5 v_~A~0.offset_27 4) (select |v_#length_42| v_~A~0.base_27))) (.cse2 (<= 0 .cse4)) (.cse3 (= (select |v_#valid_49| v_~A~0.base_27) 1))) (and .cse0 (let ((.cse1 (select (select |v_#memory_int_38| v_~A~0.base_27) .cse4))) (or (and .cse0 (< v_~max1~0_21 .cse1) .cse2 (= v_~max1~0_20 .cse1) .cse3) (and (<= .cse1 v_~max1~0_21) (= |v_thread1Thread1of1ForFork2_#t~mem3_2| |v_thread1Thread1of1ForFork2_#t~mem3_1|) (= v_~max1~0_21 v_~max1~0_20)))) .cse2 .cse3)))) InVars {~max1~0=v_~max1~0_21, ~A~0.base=v_~A~0.base_27, ~A~0.offset=v_~A~0.offset_27, thread1Thread1of1ForFork2_#t~mem3=|v_thread1Thread1of1ForFork2_#t~mem3_1|, thread1Thread1of1ForFork2_~i~0=v_thread1Thread1of1ForFork2_~i~0_7, #valid=|v_#valid_49|, #memory_int=|v_#memory_int_38|, #length=|v_#length_42|} OutVars{~max1~0=v_~max1~0_20, ~A~0.base=v_~A~0.base_27, ~A~0.offset=v_~A~0.offset_27, thread1Thread1of1ForFork2_#t~mem2=|v_thread1Thread1of1ForFork2_#t~mem2_1|, thread1Thread1of1ForFork2_#t~mem3=|v_thread1Thread1of1ForFork2_#t~mem3_2|, thread1Thread1of1ForFork2_~i~0=v_thread1Thread1of1ForFork2_~i~0_7, #valid=|v_#valid_49|, #memory_int=|v_#memory_int_38|, #length=|v_#length_42|} AuxVars[] AssignedVars[~max1~0, thread1Thread1of1ForFork2_#t~mem2, thread1Thread1of1ForFork2_#t~mem3] 675#[L48-4, L92-4]true [422] L48-4-->L46-2: Formula: (= |v_thread1Thread1of1ForFork2_#t~post1_1| v_thread1Thread1of1ForFork2_~i~0_11) InVars {thread1Thread1of1ForFork2_~i~0=v_thread1Thread1of1ForFork2_~i~0_11} OutVars{thread1Thread1of1ForFork2_~i~0=v_thread1Thread1of1ForFork2_~i~0_11, thread1Thread1of1ForFork2_#t~post1=|v_thread1Thread1of1ForFork2_#t~post1_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_#t~post1] 677#[L46-2, L92-4]true [424] L46-2-->L46-3: Formula: (= (+ |v_thread1Thread1of1ForFork2_#t~post1_3| 1) v_thread1Thread1of1ForFork2_~i~0_13) InVars {thread1Thread1of1ForFork2_#t~post1=|v_thread1Thread1of1ForFork2_#t~post1_3|} OutVars{thread1Thread1of1ForFork2_~i~0=v_thread1Thread1of1ForFork2_~i~0_13, thread1Thread1of1ForFork2_#t~post1=|v_thread1Thread1of1ForFork2_#t~post1_3|} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_~i~0] 679#[L92-4, L46-3]true [426] L46-3-->L46-4: Formula: true InVars {} OutVars{thread1Thread1of1ForFork2_#t~post1=|v_thread1Thread1of1ForFork2_#t~post1_5|} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_#t~post1] 671#[L46-4, L92-4]true [417] L46-4-->L47: Formula: (< v_thread1Thread1of1ForFork2_~i~0_3 v_~N~0_2) InVars {thread1Thread1of1ForFork2_~i~0=v_thread1Thread1of1ForFork2_~i~0_3, ~N~0=v_~N~0_2} OutVars{thread1Thread1of1ForFork2_~i~0=v_thread1Thread1of1ForFork2_~i~0_3, ~N~0=v_~N~0_2} AuxVars[] AssignedVars[] 673#[L47, L92-4]true [420] L47-->L48-4: Formula: (let ((.cse5 (* v_thread1Thread1of1ForFork2_~i~0_7 4))) (let ((.cse4 (+ .cse5 v_~A~0.offset_27))) (let ((.cse0 (<= (+ .cse5 v_~A~0.offset_27 4) (select |v_#length_42| v_~A~0.base_27))) (.cse2 (<= 0 .cse4)) (.cse3 (= (select |v_#valid_49| v_~A~0.base_27) 1))) (and .cse0 (let ((.cse1 (select (select |v_#memory_int_38| v_~A~0.base_27) .cse4))) (or (and .cse0 (< v_~max1~0_21 .cse1) .cse2 (= v_~max1~0_20 .cse1) .cse3) (and (<= .cse1 v_~max1~0_21) (= |v_thread1Thread1of1ForFork2_#t~mem3_2| |v_thread1Thread1of1ForFork2_#t~mem3_1|) (= v_~max1~0_21 v_~max1~0_20)))) .cse2 .cse3)))) InVars {~max1~0=v_~max1~0_21, ~A~0.base=v_~A~0.base_27, ~A~0.offset=v_~A~0.offset_27, thread1Thread1of1ForFork2_#t~mem3=|v_thread1Thread1of1ForFork2_#t~mem3_1|, thread1Thread1of1ForFork2_~i~0=v_thread1Thread1of1ForFork2_~i~0_7, #valid=|v_#valid_49|, #memory_int=|v_#memory_int_38|, #length=|v_#length_42|} OutVars{~max1~0=v_~max1~0_20, ~A~0.base=v_~A~0.base_27, ~A~0.offset=v_~A~0.offset_27, thread1Thread1of1ForFork2_#t~mem2=|v_thread1Thread1of1ForFork2_#t~mem2_1|, thread1Thread1of1ForFork2_#t~mem3=|v_thread1Thread1of1ForFork2_#t~mem3_2|, thread1Thread1of1ForFork2_~i~0=v_thread1Thread1of1ForFork2_~i~0_7, #valid=|v_#valid_49|, #memory_int=|v_#memory_int_38|, #length=|v_#length_42|} AuxVars[] AssignedVars[~max1~0, thread1Thread1of1ForFork2_#t~mem2, thread1Thread1of1ForFork2_#t~mem3] 675#[L48-4, L92-4]true [422] L48-4-->L46-2: Formula: (= |v_thread1Thread1of1ForFork2_#t~post1_1| v_thread1Thread1of1ForFork2_~i~0_11) InVars {thread1Thread1of1ForFork2_~i~0=v_thread1Thread1of1ForFork2_~i~0_11} OutVars{thread1Thread1of1ForFork2_~i~0=v_thread1Thread1of1ForFork2_~i~0_11, thread1Thread1of1ForFork2_#t~post1=|v_thread1Thread1of1ForFork2_#t~post1_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_#t~post1] 677#[L46-2, L92-4]true [424] L46-2-->L46-3: Formula: (= (+ |v_thread1Thread1of1ForFork2_#t~post1_3| 1) v_thread1Thread1of1ForFork2_~i~0_13) InVars {thread1Thread1of1ForFork2_#t~post1=|v_thread1Thread1of1ForFork2_#t~post1_3|} OutVars{thread1Thread1of1ForFork2_~i~0=v_thread1Thread1of1ForFork2_~i~0_13, thread1Thread1of1ForFork2_#t~post1=|v_thread1Thread1of1ForFork2_#t~post1_3|} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_~i~0] 679#[L92-4, L46-3]true [426] L46-3-->L46-4: Formula: true InVars {} OutVars{thread1Thread1of1ForFork2_#t~post1=|v_thread1Thread1of1ForFork2_#t~post1_5|} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_#t~post1] 671#[L46-4, L92-4]true [2024-02-09 23:40:23,539 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2024-02-09 23:40:23,539 INFO L85 PathProgramCache]: Analyzing trace with hash -1039772290, now seen corresponding path program 1 times [2024-02-09 23:40:23,539 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-02-09 23:40:23,539 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [264963148] [2024-02-09 23:40:23,539 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-09 23:40:23,539 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-02-09 23:40:23,561 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-02-09 23:40:23,626 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-02-09 23:40:23,626 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-02-09 23:40:23,626 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [264963148] [2024-02-09 23:40:23,626 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [264963148] provided 1 perfect and 0 imperfect interpolant sequences [2024-02-09 23:40:23,626 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-02-09 23:40:23,627 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2024-02-09 23:40:23,627 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1540412410] [2024-02-09 23:40:23,627 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-02-09 23:40:23,629 INFO L753 eck$LassoCheckResult]: stem already infeasible [2024-02-09 23:40:23,629 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2024-02-09 23:40:23,629 INFO L85 PathProgramCache]: Analyzing trace with hash -1980218911, now seen corresponding path program 1 times [2024-02-09 23:40:23,629 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-02-09 23:40:23,629 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [265192493] [2024-02-09 23:40:23,629 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-09 23:40:23,629 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-02-09 23:40:23,638 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-02-09 23:40:23,638 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-02-09 23:40:23,642 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-02-09 23:40:23,644 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-02-09 23:40:23,843 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-02-09 23:40:23,846 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2024-02-09 23:40:23,847 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2024-02-09 23:40:23,863 INFO L175 Difference]: Start difference. First operand has 177 places, 5500 transitions, 22684 flow. Second operand 2 states and 318 transitions. [2024-02-09 23:40:23,864 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 177 places, 5500 transitions, 22684 flow. Second operand 2 states and 318 transitions. [2024-02-09 23:40:23,865 INFO L120 encePairwiseOnDemand]: Number of universal subtrahend loopers: 150 of 159 [2024-02-09 23:40:23,866 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-02-09 23:40:26,779 INFO L124 PetriNetUnfolderBase]: 25802/35956 cut-off events. [2024-02-09 23:40:26,779 INFO L125 PetriNetUnfolderBase]: For 2534/2534 co-relation queries the response was YES. [2024-02-09 23:40:26,820 INFO L83 FinitePrefix]: Finished finitePrefix Result has 72578 conditions, 35956 events. 25802/35956 cut-off events. For 2534/2534 co-relation queries the response was YES. Maximal size of possible extension queue 860. Compared 202405 event pairs, 8197 based on Foata normal form. 2787/35900 useless extension candidates. Maximal degree in co-relation 72572. Up to 17877 conditions per place. [2024-02-09 23:40:27,021 INFO L140 encePairwiseOnDemand]: 150/159 looper letters, 0 selfloop transitions, 0 changer transitions 9/343 dead transitions. [2024-02-09 23:40:27,021 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 155 places, 343 transitions, 1405 flow [2024-02-09 23:40:27,023 INFO L231 Difference]: Finished difference. Result has 178 places, 334 transitions, 1369 flow [2024-02-09 23:40:27,025 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-02-09 23:40:27,026 INFO L428 stractBuchiCegarLoop]: Abstraction has has 178 places, 334 transitions, 1369 flow [2024-02-09 23:40:27,026 INFO L335 stractBuchiCegarLoop]: ======== Iteration 3 ============ [2024-02-09 23:40:27,026 INFO L84 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 178 places, 334 transitions, 1369 flow [2024-02-09 23:40:27,057 INFO L185 PetriNetUnfolderBase]: Found word, exiting Unfolder. [2024-02-09 23:40:27,057 INFO L124 PetriNetUnfolderBase]: 168/443 cut-off events. [2024-02-09 23:40:27,057 INFO L125 PetriNetUnfolderBase]: For 4/4 co-relation queries the response was YES. [2024-02-09 23:40:27,057 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty language is not empty [2024-02-09 23:40:27,058 INFO L748 eck$LassoCheckResult]: Stem: 158#[$Ultimate##0]true [290] $Ultimate##0-->L-1: Formula: (= (select |v_#valid_7| 0) 0) InVars {#valid=|v_#valid_7|} OutVars{#valid=|v_#valid_7|} AuxVars[] AssignedVars[] 160#[L-1]true [304] L-1-->L21: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] 162#[L21]true [364] L21-->L21-1: Formula: (and (= (select |v_#valid_8| 1) 1) (= 2 (select |v_#length_7| 1))) InVars {#length=|v_#length_7|, #valid=|v_#valid_8|} OutVars{#length=|v_#length_7|, #valid=|v_#valid_8|} AuxVars[] AssignedVars[] 164#[L21-1]true [392] L21-1-->L21-2: Formula: (= (select (select |v_#memory_int_7| 1) 0) 48) InVars {#memory_int=|v_#memory_int_7|} OutVars{#memory_int=|v_#memory_int_7|} AuxVars[] AssignedVars[] 166#[L21-2]true [315] L21-2-->L21-3: Formula: (= (select (select |v_#memory_int_8| 1) 1) 0) InVars {#memory_int=|v_#memory_int_8|} OutVars{#memory_int=|v_#memory_int_8|} AuxVars[] AssignedVars[] 168#[L21-3]true [355] L21-3-->L21-4: Formula: (and (= (select |v_#valid_9| 2) 1) (= 32 (select |v_#length_8| 2))) InVars {#length=|v_#length_8|, #valid=|v_#valid_9|} OutVars{#length=|v_#length_8|, #valid=|v_#valid_9|} AuxVars[] AssignedVars[] 170#[L21-4]true [331] L21-4-->L41: Formula: (and (= v_~A~0.base_7 0) (= v_~A~0.offset_7 0)) InVars {} OutVars{~A~0.base=v_~A~0.base_7, ~A~0.offset=v_~A~0.offset_7} AuxVars[] AssignedVars[~A~0.base, ~A~0.offset] 172#[L41]true [287] L41-->L41-1: Formula: (= v_~max1~0_4 0) InVars {} OutVars{~max1~0=v_~max1~0_4} AuxVars[] AssignedVars[~max1~0] 174#[L41-1]true [305] L41-1-->L41-2: Formula: (= v_~max2~0_4 0) InVars {} OutVars{~max2~0=v_~max2~0_4} AuxVars[] AssignedVars[~max2~0] 176#[L41-2]true [318] L41-2-->L41-3: Formula: (= v_~max3~0_4 0) InVars {} OutVars{~max3~0=v_~max3~0_4} AuxVars[] AssignedVars[~max3~0] 178#[L41-3]true [390] L41-3-->L41-4: Formula: (= v_~M~0_4 0) InVars {} OutVars{~M~0=v_~M~0_4} AuxVars[] AssignedVars[~M~0] 180#[L41-4]true [391] L41-4-->L-1-1: Formula: (= v_~N~0_5 0) InVars {} OutVars{~N~0=v_~N~0_5} AuxVars[] AssignedVars[~N~0] 182#[L-1-1]true [407] L-1-1-->L-1-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] 184#[L-1-2]true [409] L-1-2-->L82: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre13#1=|v_ULTIMATE.start_main_#t~pre13#1_1|, ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_1|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_1|, ULTIMATE.start_main_~#t3~0#1.offset=|v_ULTIMATE.start_main_~#t3~0#1.offset_1|, ULTIMATE.start_main_~#t3~0#1.base=|v_ULTIMATE.start_main_~#t3~0#1.base_1|, ULTIMATE.start_main_#t~pre15#1=|v_ULTIMATE.start_main_#t~pre15#1_1|, ULTIMATE.start_main_#t~nondet18#1=|v_ULTIMATE.start_main_#t~nondet18#1_1|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_1|, ULTIMATE.start_main_#t~pre17#1=|v_ULTIMATE.start_main_#t~pre17#1_1|, ULTIMATE.start_main_#t~mem21#1=|v_ULTIMATE.start_main_#t~mem21#1_1|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_1|, ULTIMATE.start_main_#t~nondet14#1=|v_ULTIMATE.start_main_#t~nondet14#1_1|, ULTIMATE.start_main_#t~mem19#1=|v_ULTIMATE.start_main_#t~mem19#1_1|, ULTIMATE.start_main_#t~mem20#1=|v_ULTIMATE.start_main_#t~mem20#1_1|, ULTIMATE.start_main_#t~nondet16#1=|v_ULTIMATE.start_main_#t~nondet16#1_1|, ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_1|, ULTIMATE.start_main_#t~ret12#1.offset=|v_ULTIMATE.start_main_#t~ret12#1.offset_1|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_1|, ULTIMATE.start_main_#t~ret12#1.base=|v_ULTIMATE.start_main_#t~ret12#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre13#1, ULTIMATE.start_main_#t~nondet10#1, ULTIMATE.start_main_~#t2~0#1.offset, ULTIMATE.start_main_~#t3~0#1.offset, ULTIMATE.start_main_~#t3~0#1.base, ULTIMATE.start_main_#t~pre15#1, ULTIMATE.start_main_#t~nondet18#1, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_#t~pre17#1, ULTIMATE.start_main_#t~mem21#1, ULTIMATE.start_main_~#t1~0#1.offset, ULTIMATE.start_main_#t~nondet14#1, ULTIMATE.start_main_#t~mem19#1, ULTIMATE.start_main_#t~mem20#1, ULTIMATE.start_main_#t~nondet16#1, ULTIMATE.start_main_#t~nondet11#1, ULTIMATE.start_main_#t~ret12#1.offset, ULTIMATE.start_main_~#t2~0#1.base, ULTIMATE.start_main_#t~ret12#1.base] 186#[L82]true [360] L82-->L82-1: Formula: (and (= (store |v_#valid_11| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 1) |v_#valid_10|) (= |v_ULTIMATE.start_main_~#t1~0#1.offset_2| 0) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) (not (= |v_ULTIMATE.start_main_~#t1~0#1.base_2| 0)) (= (store |v_#length_10| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 4) |v_#length_9|) (= (select |v_#valid_11| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_10|, #valid=|v_#valid_11|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_9|, 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_10|} AuxVars[] AssignedVars[#valid, #length, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset] 188#[L82-1]true [269] L82-1-->L82-2: Formula: (and (= (select |v_#valid_13| |v_ULTIMATE.start_main_~#t2~0#1.base_2|) 0) (= (store |v_#valid_13| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 1) |v_#valid_12|) (= (store |v_#length_12| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 4) |v_#length_11|) (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_12|, #valid=|v_#valid_13|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_11|, 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_12|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t2~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t2~0#1.base] 190#[L82-2]true [411] L82-2-->L82-3: Formula: (and (= |v_ULTIMATE.start_main_~#t3~0#1.offset_2| 0) (not (= |v_ULTIMATE.start_main_~#t3~0#1.base_2| 0)) (= |v_#valid_14| (store |v_#valid_15| |v_ULTIMATE.start_main_~#t3~0#1.base_2| 1)) (= (select |v_#valid_15| |v_ULTIMATE.start_main_~#t3~0#1.base_2|) 0) (= (store |v_#length_14| |v_ULTIMATE.start_main_~#t3~0#1.base_2| 4) |v_#length_13|) (< |v_#StackHeapBarrier_4| |v_ULTIMATE.start_main_~#t3~0#1.base_2|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_4|, #length=|v_#length_14|, #valid=|v_#valid_15|} OutVars{ULTIMATE.start_main_~#t3~0#1.base=|v_ULTIMATE.start_main_~#t3~0#1.base_2|, #StackHeapBarrier=|v_#StackHeapBarrier_4|, #length=|v_#length_13|, ULTIMATE.start_main_~#t3~0#1.offset=|v_ULTIMATE.start_main_~#t3~0#1.offset_2|, #valid=|v_#valid_14|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t3~0#1.offset, #valid, ULTIMATE.start_main_~#t3~0#1.base, #length] 192#[L82-3]true [271] L82-3-->L85: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet10#1] 194#[L85]true [299] L85-->L85-1: Formula: (= |v_ULTIMATE.start_main_#t~nondet10#1_3| v_~M~0_5) InVars {ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_3|} OutVars{~M~0=v_~M~0_5, ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_3|} AuxVars[] AssignedVars[~M~0] 196#[L85-1]true [320] L85-1-->L86: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet10#1] 198#[L86]true [263] L86-->L86-1: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet11#1] 200#[L86-1]true [344] L86-1-->L86-2: Formula: (= |v_ULTIMATE.start_main_#t~nondet11#1_3| v_~N~0_6) InVars {ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_3|} OutVars{ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_3|, ~N~0=v_~N~0_6} AuxVars[] AssignedVars[~N~0] 202#[L86-2]true [415] L86-2-->L87: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet11#1] 204#[L87]true [322] L87-->L87-1: Formula: (= |v_ULTIMATE.start_create_fresh_int_array_#in~size#1_1| v_~N~0_7) InVars {~N~0=v_~N~0_7} OutVars{ULTIMATE.start_create_fresh_int_array_#in~size#1=|v_ULTIMATE.start_create_fresh_int_array_#in~size#1_1|, ~N~0=v_~N~0_7} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_#in~size#1] 206#[L87-1]true [268] L87-1-->L87-2: Formula: true InVars {} OutVars{ULTIMATE.start_create_fresh_int_array_#res#1.base=|v_ULTIMATE.start_create_fresh_int_array_#res#1.base_1|, ULTIMATE.start_create_fresh_int_array_#res#1.offset=|v_ULTIMATE.start_create_fresh_int_array_#res#1.offset_1|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_#res#1.offset, ULTIMATE.start_create_fresh_int_array_#res#1.base] 208#[L87-2]true [265] L87-2-->L105: Formula: true InVars {} OutVars{ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset=|v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset_1|, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset=|v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset_1|, ULTIMATE.start_create_fresh_int_array_~arr~0#1.base=|v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.base_1|, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base=|v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base_1|, ULTIMATE.start_create_fresh_int_array_~i~3#1=|v_ULTIMATE.start_create_fresh_int_array_~i~3#1_1|, ULTIMATE.start_create_fresh_int_array_#t~nondet24#1=|v_ULTIMATE.start_create_fresh_int_array_#t~nondet24#1_1|, ULTIMATE.start_create_fresh_int_array_~size#1=|v_ULTIMATE.start_create_fresh_int_array_~size#1_1|, ULTIMATE.start_create_fresh_int_array_#t~post23#1=|v_ULTIMATE.start_create_fresh_int_array_#t~post23#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset, ULTIMATE.start_create_fresh_int_array_~arr~0#1.base, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base, ULTIMATE.start_create_fresh_int_array_~i~3#1, ULTIMATE.start_create_fresh_int_array_#t~nondet24#1, ULTIMATE.start_create_fresh_int_array_~size#1, ULTIMATE.start_create_fresh_int_array_#t~post23#1] 210#[L105]true [273] L105-->L106: Formula: (= |v_ULTIMATE.start_create_fresh_int_array_~size#1_2| |v_ULTIMATE.start_create_fresh_int_array_#in~size#1_2|) InVars {ULTIMATE.start_create_fresh_int_array_#in~size#1=|v_ULTIMATE.start_create_fresh_int_array_#in~size#1_2|} OutVars{ULTIMATE.start_create_fresh_int_array_#in~size#1=|v_ULTIMATE.start_create_fresh_int_array_#in~size#1_2|, ULTIMATE.start_create_fresh_int_array_~size#1=|v_ULTIMATE.start_create_fresh_int_array_~size#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_~size#1] 212#[L106]true [393] L106-->L106-1: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1| (ite (<= 0 |v_ULTIMATE.start_create_fresh_int_array_~size#1_3|) 1 0)) InVars {ULTIMATE.start_create_fresh_int_array_~size#1=|v_ULTIMATE.start_create_fresh_int_array_~size#1_3|} OutVars{ULTIMATE.start_create_fresh_int_array_~size#1=|v_ULTIMATE.start_create_fresh_int_array_~size#1_3|, 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] 214#[L106-1]true [383] L106-1-->L36: 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] 216#[L36]true [404] L36-->L37: 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] 218#[L37]true [325] L37-->L36-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[] 220#[L36-1]true [389] L36-1-->L106-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] 222#[L106-2]true [319] L106-2-->L107: Formula: true InVars {} OutVars{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] 224#[L107]true [405] L107-->L107-1: Formula: (= (ite (<= (mod |v_ULTIMATE.start_create_fresh_int_array_~size#1_4| 4294967296) 1073741823) 1 0) |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4|) InVars {ULTIMATE.start_create_fresh_int_array_~size#1=|v_ULTIMATE.start_create_fresh_int_array_~size#1_4|} OutVars{ULTIMATE.start_create_fresh_int_array_~size#1=|v_ULTIMATE.start_create_fresh_int_array_~size#1_4|, 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_#in~cond#1] 226#[L107-1]true [398] L107-1-->L36-2: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] 228#[L36-2]true [377] L36-2-->L37-3: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_5| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_7|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_5|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_7|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_5|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] 230#[L37-3]true [294] L37-3-->L36-3: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_9| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_9|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_9|} AuxVars[] AssignedVars[] 232#[L36-3]true [342] L36-3-->L107-2: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_10|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] 234#[L107-2]true [335] L107-2-->L109: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] 236#[L109]true [380] L109-->L109-1: Formula: (and (= |v_#valid_16| (store |v_#valid_17| |v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base_2| 1)) (= (select |v_#valid_17| |v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base_2|) 0) (= |v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset_2| 0) (= |v_#length_15| (store |v_#length_16| |v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base_2| (* 4 (mod |v_ULTIMATE.start_create_fresh_int_array_~size#1_5| 1073741824)))) (< |v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base_2| |v_#StackHeapBarrier_5|) (not (= |v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base_2| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_5|, #length=|v_#length_16|, ULTIMATE.start_create_fresh_int_array_~size#1=|v_ULTIMATE.start_create_fresh_int_array_~size#1_5|, #valid=|v_#valid_17|} OutVars{ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset=|v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset_2|, #StackHeapBarrier=|v_#StackHeapBarrier_5|, #valid=|v_#valid_16|, #length=|v_#length_15|, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base=|v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base_2|, ULTIMATE.start_create_fresh_int_array_~size#1=|v_ULTIMATE.start_create_fresh_int_array_~size#1_5|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset, #valid, #length, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base] 238#[L109-1]true [399] L109-1-->L109-2: Formula: (and (= |v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base_3| |v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.base_2|) (= |v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset_2| |v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset_3|)) InVars {ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base=|v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base_3|, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset=|v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset_3|} OutVars{ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset=|v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset_2|, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset=|v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset_3|, ULTIMATE.start_create_fresh_int_array_~arr~0#1.base=|v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.base_2|, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base=|v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base_3|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset, ULTIMATE.start_create_fresh_int_array_~arr~0#1.base] 240#[L109-2]true [406] L109-2-->L110: Formula: true InVars {} OutVars{ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base=|v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base_4|, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset=|v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset_4|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base] 242#[L110]true [339] L110-->L110-6: Formula: (= |v_ULTIMATE.start_create_fresh_int_array_~i~3#1_2| 0) InVars {} OutVars{ULTIMATE.start_create_fresh_int_array_~i~3#1=|v_ULTIMATE.start_create_fresh_int_array_~i~3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_~i~3#1] 244#[L110-6]true [280] L110-6-->L110-7: Formula: (<= |v_ULTIMATE.start_create_fresh_int_array_~size#1_6| |v_ULTIMATE.start_create_fresh_int_array_~i~3#1_3|) InVars {ULTIMATE.start_create_fresh_int_array_~i~3#1=|v_ULTIMATE.start_create_fresh_int_array_~i~3#1_3|, ULTIMATE.start_create_fresh_int_array_~size#1=|v_ULTIMATE.start_create_fresh_int_array_~size#1_6|} OutVars{ULTIMATE.start_create_fresh_int_array_~i~3#1=|v_ULTIMATE.start_create_fresh_int_array_~i~3#1_3|, ULTIMATE.start_create_fresh_int_array_~size#1=|v_ULTIMATE.start_create_fresh_int_array_~size#1_6|} AuxVars[] AssignedVars[] 633#[L110-7]true [321] L110-7-->L113: Formula: true InVars {} OutVars{ULTIMATE.start_create_fresh_int_array_~i~3#1=|v_ULTIMATE.start_create_fresh_int_array_~i~3#1_8|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_~i~3#1] 635#[L113]true [385] L113-->create_fresh_int_array_returnLabel#1: Formula: (and (= |v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.base_4| |v_ULTIMATE.start_create_fresh_int_array_#res#1.base_2|) (= |v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset_4| |v_ULTIMATE.start_create_fresh_int_array_#res#1.offset_2|)) InVars {ULTIMATE.start_create_fresh_int_array_~arr~0#1.base=|v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.base_4|, ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset=|v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset_4|} OutVars{ULTIMATE.start_create_fresh_int_array_#res#1.offset=|v_ULTIMATE.start_create_fresh_int_array_#res#1.offset_2|, ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset=|v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset_4|, ULTIMATE.start_create_fresh_int_array_~arr~0#1.base=|v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.base_4|, ULTIMATE.start_create_fresh_int_array_#res#1.base=|v_ULTIMATE.start_create_fresh_int_array_#res#1.base_2|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_#res#1.offset, ULTIMATE.start_create_fresh_int_array_#res#1.base] 637#[create_fresh_int_array_returnLabel#1]true [388] create_fresh_int_array_returnLabel#1-->L87-3: Formula: (and (= |v_ULTIMATE.start_main_#t~ret12#1.offset_2| |v_ULTIMATE.start_create_fresh_int_array_#res#1.offset_3|) (= |v_ULTIMATE.start_main_#t~ret12#1.base_2| |v_ULTIMATE.start_create_fresh_int_array_#res#1.base_3|)) InVars {ULTIMATE.start_create_fresh_int_array_#res#1.base=|v_ULTIMATE.start_create_fresh_int_array_#res#1.base_3|, ULTIMATE.start_create_fresh_int_array_#res#1.offset=|v_ULTIMATE.start_create_fresh_int_array_#res#1.offset_3|} OutVars{ULTIMATE.start_create_fresh_int_array_#res#1.offset=|v_ULTIMATE.start_create_fresh_int_array_#res#1.offset_3|, ULTIMATE.start_create_fresh_int_array_#res#1.base=|v_ULTIMATE.start_create_fresh_int_array_#res#1.base_3|, ULTIMATE.start_main_#t~ret12#1.offset=|v_ULTIMATE.start_main_#t~ret12#1.offset_2|, ULTIMATE.start_main_#t~ret12#1.base=|v_ULTIMATE.start_main_#t~ret12#1.base_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~ret12#1.offset, ULTIMATE.start_main_#t~ret12#1.base] 639#[L87-3]true [277] L87-3-->L87-4: Formula: true InVars {} OutVars{ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset=|v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset_5|, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset=|v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset_5|, ULTIMATE.start_create_fresh_int_array_~arr~0#1.base=|v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.base_5|, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base=|v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base_5|, ULTIMATE.start_create_fresh_int_array_~i~3#1=|v_ULTIMATE.start_create_fresh_int_array_~i~3#1_9|, ULTIMATE.start_create_fresh_int_array_#t~nondet24#1=|v_ULTIMATE.start_create_fresh_int_array_#t~nondet24#1_5|, ULTIMATE.start_create_fresh_int_array_~size#1=|v_ULTIMATE.start_create_fresh_int_array_~size#1_8|, ULTIMATE.start_create_fresh_int_array_#t~post23#1=|v_ULTIMATE.start_create_fresh_int_array_#t~post23#1_5|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset, ULTIMATE.start_create_fresh_int_array_~arr~0#1.base, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base, ULTIMATE.start_create_fresh_int_array_~i~3#1, ULTIMATE.start_create_fresh_int_array_#t~nondet24#1, ULTIMATE.start_create_fresh_int_array_~size#1, ULTIMATE.start_create_fresh_int_array_#t~post23#1] 641#[L87-4]true [295] L87-4-->L87-5: Formula: true InVars {} OutVars{ULTIMATE.start_create_fresh_int_array_#in~size#1=|v_ULTIMATE.start_create_fresh_int_array_#in~size#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_#in~size#1] 643#[L87-5]true [332] L87-5-->L87-6: Formula: (and (= |v_ULTIMATE.start_main_#t~ret12#1.offset_3| v_~A~0.offset_8) (= v_~A~0.base_8 |v_ULTIMATE.start_main_#t~ret12#1.base_3|)) InVars {ULTIMATE.start_main_#t~ret12#1.offset=|v_ULTIMATE.start_main_#t~ret12#1.offset_3|, ULTIMATE.start_main_#t~ret12#1.base=|v_ULTIMATE.start_main_#t~ret12#1.base_3|} OutVars{~A~0.base=v_~A~0.base_8, ~A~0.offset=v_~A~0.offset_8, ULTIMATE.start_main_#t~ret12#1.offset=|v_ULTIMATE.start_main_#t~ret12#1.offset_3|, ULTIMATE.start_main_#t~ret12#1.base=|v_ULTIMATE.start_main_#t~ret12#1.base_3|} AuxVars[] AssignedVars[~A~0.base, ~A~0.offset] 645#[L87-6]true [274] L87-6-->L89: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~ret12#1.offset=|v_ULTIMATE.start_main_#t~ret12#1.offset_4|, ULTIMATE.start_main_#t~ret12#1.base=|v_ULTIMATE.start_main_#t~ret12#1.base_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~ret12#1.offset, ULTIMATE.start_main_#t~ret12#1.base] 647#[L89]true [341] L89-->L89-1: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_7| (ite (and (< v_~M~0_6 v_~N~0_8) (<= 0 v_~M~0_6)) 1 0)) InVars {~M~0=v_~M~0_6, ~N~0=v_~N~0_8} OutVars{~N~0=v_~N~0_8, ~M~0=v_~M~0_6, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] 649#[L89-1]true [317] L89-1-->L36-4: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_11|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] 651#[L36-4]true [286] L36-4-->L37-6: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_8| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_12|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_8|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_12|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_8|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] 653#[L37-6]true [338] L37-6-->L36-5: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_14| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_14|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_14|} AuxVars[] AssignedVars[] 657#[L36-5]true [312] L36-5-->L89-2: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_15|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] 659#[L89-2]true [353] L89-2-->L92: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_9|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] 661#[L92]true [381] L92-->L92-1: Formula: (= |v_ULTIMATE.start_main_#t~pre13#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre13#1=|v_ULTIMATE.start_main_#t~pre13#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre13#1] 663#[L92-1]true [370] L92-1-->L92-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 665#[L92-2]true [329] L92-2-->L92-3: Formula: (and (= (select |v_#valid_19| |v_ULTIMATE.start_main_~#t1~0#1.base_3|) 1) (= |v_#memory_int_11| (store |v_#memory_int_12| |v_ULTIMATE.start_main_~#t1~0#1.base_3| (store (select |v_#memory_int_12| |v_ULTIMATE.start_main_~#t1~0#1.base_3|) |v_ULTIMATE.start_main_~#t1~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre13#1_3|))) (<= 0 |v_ULTIMATE.start_main_~#t1~0#1.offset_3|) (<= (+ |v_ULTIMATE.start_main_~#t1~0#1.offset_3| 4) (select |v_#length_18| |v_ULTIMATE.start_main_~#t1~0#1.base_3|))) InVars {ULTIMATE.start_main_#t~pre13#1=|v_ULTIMATE.start_main_#t~pre13#1_3|, #valid=|v_#valid_19|, #memory_int=|v_#memory_int_12|, #length=|v_#length_18|, 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~pre13#1=|v_ULTIMATE.start_main_#t~pre13#1_3|, #valid=|v_#valid_19|, #memory_int=|v_#memory_int_11|, #length=|v_#length_18|, 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] 667#[L92-3]true [457] L92-3-->$Ultimate##0: Formula: (and (= |v_ULTIMATE.start_main_#t~pre13#1_7| v_thread1Thread1of1ForFork2_thidvar0_2) (= 0 v_thread1Thread1of1ForFork2_thidvar1_2)) InVars {ULTIMATE.start_main_#t~pre13#1=|v_ULTIMATE.start_main_#t~pre13#1_7|} OutVars{thread1Thread1of1ForFork2_thidvar1=v_thread1Thread1of1ForFork2_thidvar1_2, thread1Thread1of1ForFork2_thidvar0=v_thread1Thread1of1ForFork2_thidvar0_2, thread1Thread1of1ForFork2_#res.base=|v_thread1Thread1of1ForFork2_#res.base_4|, ULTIMATE.start_main_#t~pre13#1=|v_ULTIMATE.start_main_#t~pre13#1_7|, thread1Thread1of1ForFork2_#t~mem2=|v_thread1Thread1of1ForFork2_#t~mem2_4|, thread1Thread1of1ForFork2_#t~mem3=|v_thread1Thread1of1ForFork2_#t~mem3_6|, thread1Thread1of1ForFork2_~i~0=v_thread1Thread1of1ForFork2_~i~0_16, thread1Thread1of1ForFork2_#t~post1=|v_thread1Thread1of1ForFork2_#t~post1_8|, thread1Thread1of1ForFork2_#res.offset=|v_thread1Thread1of1ForFork2_#res.offset_4|} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_thidvar1, thread1Thread1of1ForFork2_thidvar0, thread1Thread1of1ForFork2_#res.base, thread1Thread1of1ForFork2_#t~mem2, thread1Thread1of1ForFork2_#t~mem3, thread1Thread1of1ForFork2_~i~0, thread1Thread1of1ForFork2_#t~post1, thread1Thread1of1ForFork2_#res.offset] 669#[L92-4, $Ultimate##0]true [416] $Ultimate##0-->L46-4: Formula: (= v_thread1Thread1of1ForFork2_~i~0_1 0) InVars {} OutVars{thread1Thread1of1ForFork2_~i~0=v_thread1Thread1of1ForFork2_~i~0_1} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_~i~0] 671#[L46-4, L92-4]true [2024-02-09 23:40:27,059 INFO L750 eck$LassoCheckResult]: Loop: 671#[L46-4, L92-4]true [417] L46-4-->L47: Formula: (< v_thread1Thread1of1ForFork2_~i~0_3 v_~N~0_2) InVars {thread1Thread1of1ForFork2_~i~0=v_thread1Thread1of1ForFork2_~i~0_3, ~N~0=v_~N~0_2} OutVars{thread1Thread1of1ForFork2_~i~0=v_thread1Thread1of1ForFork2_~i~0_3, ~N~0=v_~N~0_2} AuxVars[] AssignedVars[] 673#[L47, L92-4]true [420] L47-->L48-4: Formula: (let ((.cse5 (* v_thread1Thread1of1ForFork2_~i~0_7 4))) (let ((.cse4 (+ .cse5 v_~A~0.offset_27))) (let ((.cse0 (<= (+ .cse5 v_~A~0.offset_27 4) (select |v_#length_42| v_~A~0.base_27))) (.cse2 (<= 0 .cse4)) (.cse3 (= (select |v_#valid_49| v_~A~0.base_27) 1))) (and .cse0 (let ((.cse1 (select (select |v_#memory_int_38| v_~A~0.base_27) .cse4))) (or (and .cse0 (< v_~max1~0_21 .cse1) .cse2 (= v_~max1~0_20 .cse1) .cse3) (and (<= .cse1 v_~max1~0_21) (= |v_thread1Thread1of1ForFork2_#t~mem3_2| |v_thread1Thread1of1ForFork2_#t~mem3_1|) (= v_~max1~0_21 v_~max1~0_20)))) .cse2 .cse3)))) InVars {~max1~0=v_~max1~0_21, ~A~0.base=v_~A~0.base_27, ~A~0.offset=v_~A~0.offset_27, thread1Thread1of1ForFork2_#t~mem3=|v_thread1Thread1of1ForFork2_#t~mem3_1|, thread1Thread1of1ForFork2_~i~0=v_thread1Thread1of1ForFork2_~i~0_7, #valid=|v_#valid_49|, #memory_int=|v_#memory_int_38|, #length=|v_#length_42|} OutVars{~max1~0=v_~max1~0_20, ~A~0.base=v_~A~0.base_27, ~A~0.offset=v_~A~0.offset_27, thread1Thread1of1ForFork2_#t~mem2=|v_thread1Thread1of1ForFork2_#t~mem2_1|, thread1Thread1of1ForFork2_#t~mem3=|v_thread1Thread1of1ForFork2_#t~mem3_2|, thread1Thread1of1ForFork2_~i~0=v_thread1Thread1of1ForFork2_~i~0_7, #valid=|v_#valid_49|, #memory_int=|v_#memory_int_38|, #length=|v_#length_42|} AuxVars[] AssignedVars[~max1~0, thread1Thread1of1ForFork2_#t~mem2, thread1Thread1of1ForFork2_#t~mem3] 675#[L48-4, L92-4]true [422] L48-4-->L46-2: Formula: (= |v_thread1Thread1of1ForFork2_#t~post1_1| v_thread1Thread1of1ForFork2_~i~0_11) InVars {thread1Thread1of1ForFork2_~i~0=v_thread1Thread1of1ForFork2_~i~0_11} OutVars{thread1Thread1of1ForFork2_~i~0=v_thread1Thread1of1ForFork2_~i~0_11, thread1Thread1of1ForFork2_#t~post1=|v_thread1Thread1of1ForFork2_#t~post1_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_#t~post1] 677#[L46-2, L92-4]true [424] L46-2-->L46-3: Formula: (= (+ |v_thread1Thread1of1ForFork2_#t~post1_3| 1) v_thread1Thread1of1ForFork2_~i~0_13) InVars {thread1Thread1of1ForFork2_#t~post1=|v_thread1Thread1of1ForFork2_#t~post1_3|} OutVars{thread1Thread1of1ForFork2_~i~0=v_thread1Thread1of1ForFork2_~i~0_13, thread1Thread1of1ForFork2_#t~post1=|v_thread1Thread1of1ForFork2_#t~post1_3|} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_~i~0] 679#[L92-4, L46-3]true [426] L46-3-->L46-4: Formula: true InVars {} OutVars{thread1Thread1of1ForFork2_#t~post1=|v_thread1Thread1of1ForFork2_#t~post1_5|} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_#t~post1] 671#[L46-4, L92-4]true [417] L46-4-->L47: Formula: (< v_thread1Thread1of1ForFork2_~i~0_3 v_~N~0_2) InVars {thread1Thread1of1ForFork2_~i~0=v_thread1Thread1of1ForFork2_~i~0_3, ~N~0=v_~N~0_2} OutVars{thread1Thread1of1ForFork2_~i~0=v_thread1Thread1of1ForFork2_~i~0_3, ~N~0=v_~N~0_2} AuxVars[] AssignedVars[] 673#[L47, L92-4]true [420] L47-->L48-4: Formula: (let ((.cse5 (* v_thread1Thread1of1ForFork2_~i~0_7 4))) (let ((.cse4 (+ .cse5 v_~A~0.offset_27))) (let ((.cse0 (<= (+ .cse5 v_~A~0.offset_27 4) (select |v_#length_42| v_~A~0.base_27))) (.cse2 (<= 0 .cse4)) (.cse3 (= (select |v_#valid_49| v_~A~0.base_27) 1))) (and .cse0 (let ((.cse1 (select (select |v_#memory_int_38| v_~A~0.base_27) .cse4))) (or (and .cse0 (< v_~max1~0_21 .cse1) .cse2 (= v_~max1~0_20 .cse1) .cse3) (and (<= .cse1 v_~max1~0_21) (= |v_thread1Thread1of1ForFork2_#t~mem3_2| |v_thread1Thread1of1ForFork2_#t~mem3_1|) (= v_~max1~0_21 v_~max1~0_20)))) .cse2 .cse3)))) InVars {~max1~0=v_~max1~0_21, ~A~0.base=v_~A~0.base_27, ~A~0.offset=v_~A~0.offset_27, thread1Thread1of1ForFork2_#t~mem3=|v_thread1Thread1of1ForFork2_#t~mem3_1|, thread1Thread1of1ForFork2_~i~0=v_thread1Thread1of1ForFork2_~i~0_7, #valid=|v_#valid_49|, #memory_int=|v_#memory_int_38|, #length=|v_#length_42|} OutVars{~max1~0=v_~max1~0_20, ~A~0.base=v_~A~0.base_27, ~A~0.offset=v_~A~0.offset_27, thread1Thread1of1ForFork2_#t~mem2=|v_thread1Thread1of1ForFork2_#t~mem2_1|, thread1Thread1of1ForFork2_#t~mem3=|v_thread1Thread1of1ForFork2_#t~mem3_2|, thread1Thread1of1ForFork2_~i~0=v_thread1Thread1of1ForFork2_~i~0_7, #valid=|v_#valid_49|, #memory_int=|v_#memory_int_38|, #length=|v_#length_42|} AuxVars[] AssignedVars[~max1~0, thread1Thread1of1ForFork2_#t~mem2, thread1Thread1of1ForFork2_#t~mem3] 675#[L48-4, L92-4]true [422] L48-4-->L46-2: Formula: (= |v_thread1Thread1of1ForFork2_#t~post1_1| v_thread1Thread1of1ForFork2_~i~0_11) InVars {thread1Thread1of1ForFork2_~i~0=v_thread1Thread1of1ForFork2_~i~0_11} OutVars{thread1Thread1of1ForFork2_~i~0=v_thread1Thread1of1ForFork2_~i~0_11, thread1Thread1of1ForFork2_#t~post1=|v_thread1Thread1of1ForFork2_#t~post1_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_#t~post1] 677#[L46-2, L92-4]true [424] L46-2-->L46-3: Formula: (= (+ |v_thread1Thread1of1ForFork2_#t~post1_3| 1) v_thread1Thread1of1ForFork2_~i~0_13) InVars {thread1Thread1of1ForFork2_#t~post1=|v_thread1Thread1of1ForFork2_#t~post1_3|} OutVars{thread1Thread1of1ForFork2_~i~0=v_thread1Thread1of1ForFork2_~i~0_13, thread1Thread1of1ForFork2_#t~post1=|v_thread1Thread1of1ForFork2_#t~post1_3|} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_~i~0] 679#[L92-4, L46-3]true [426] L46-3-->L46-4: Formula: true InVars {} OutVars{thread1Thread1of1ForFork2_#t~post1=|v_thread1Thread1of1ForFork2_#t~post1_5|} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_#t~post1] 671#[L46-4, L92-4]true [2024-02-09 23:40:27,059 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2024-02-09 23:40:27,059 INFO L85 PathProgramCache]: Analyzing trace with hash -508976361, now seen corresponding path program 1 times [2024-02-09 23:40:27,059 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-02-09 23:40:27,059 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [768987977] [2024-02-09 23:40:27,060 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-09 23:40:27,060 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-02-09 23:40:27,082 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-02-09 23:40:27,318 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-02-09 23:40:27,318 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-02-09 23:40:27,320 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [768987977] [2024-02-09 23:40:27,320 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [768987977] provided 1 perfect and 0 imperfect interpolant sequences [2024-02-09 23:40:27,320 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-02-09 23:40:27,320 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2024-02-09 23:40:27,320 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2093280412] [2024-02-09 23:40:27,320 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-02-09 23:40:27,321 INFO L753 eck$LassoCheckResult]: stem already infeasible [2024-02-09 23:40:27,321 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2024-02-09 23:40:27,321 INFO L85 PathProgramCache]: Analyzing trace with hash -1980218911, now seen corresponding path program 2 times [2024-02-09 23:40:27,321 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-02-09 23:40:27,321 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1222207469] [2024-02-09 23:40:27,321 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-09 23:40:27,321 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-02-09 23:40:27,327 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-02-09 23:40:27,327 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-02-09 23:40:27,332 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-02-09 23:40:27,335 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-02-09 23:40:27,513 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-02-09 23:40:27,513 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2024-02-09 23:40:27,513 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=42, Unknown=0, NotChecked=0, Total=56 [2024-02-09 23:40:29,711 INFO L175 Difference]: Start difference. First operand has 178 places, 334 transitions, 1369 flow. Second operand 49 states and 7791 transitions. [2024-02-09 23:40:29,711 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 178 places, 334 transitions, 1369 flow. Second operand 49 states and 7791 transitions. [2024-02-09 23:40:29,714 INFO L120 encePairwiseOnDemand]: Number of universal subtrahend loopers: 110 of 159 [2024-02-09 23:40:29,714 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-02-09 23:40:32,078 INFO L124 PetriNetUnfolderBase]: 25802/35973 cut-off events. [2024-02-09 23:40:32,078 INFO L125 PetriNetUnfolderBase]: For 523/523 co-relation queries the response was YES. [2024-02-09 23:40:32,124 INFO L83 FinitePrefix]: Finished finitePrefix Result has 72727 conditions, 35973 events. 25802/35973 cut-off events. For 523/523 co-relation queries the response was YES. Maximal size of possible extension queue 886. Compared 202377 event pairs, 8197 based on Foata normal form. 0/33132 useless extension candidates. Maximal degree in co-relation 72720. Up to 17883 conditions per place. [2024-02-09 23:40:32,340 INFO L140 encePairwiseOnDemand]: 142/159 looper letters, 81 selfloop transitions, 33 changer transitions 0/342 dead transitions. [2024-02-09 23:40:32,340 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 165 places, 342 transitions, 1629 flow [2024-02-09 23:40:32,342 INFO L231 Difference]: Finished difference. Result has 232 places, 341 transitions, 1510 flow [2024-02-09 23:40:32,342 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 49 states. [2024-02-09 23:40:32,343 INFO L428 stractBuchiCegarLoop]: Abstraction has has 232 places, 341 transitions, 1510 flow [2024-02-09 23:40:32,343 INFO L335 stractBuchiCegarLoop]: ======== Iteration 4 ============ [2024-02-09 23:40:32,344 INFO L84 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 232 places, 341 transitions, 1510 flow [2024-02-09 23:40:32,376 INFO L185 PetriNetUnfolderBase]: Found word, exiting Unfolder. [2024-02-09 23:40:32,376 INFO L124 PetriNetUnfolderBase]: 168/469 cut-off events. [2024-02-09 23:40:32,376 INFO L125 PetriNetUnfolderBase]: For 13/13 co-relation queries the response was YES. [2024-02-09 23:40:32,376 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty language is not empty [2024-02-09 23:40:32,381 INFO L748 eck$LassoCheckResult]: Stem: 158#[$Ultimate##0]true [290] $Ultimate##0-->L-1: Formula: (= (select |v_#valid_7| 0) 0) InVars {#valid=|v_#valid_7|} OutVars{#valid=|v_#valid_7|} AuxVars[] AssignedVars[] 160#[L-1]true [304] L-1-->L21: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] 162#[L21]true [364] L21-->L21-1: Formula: (and (= (select |v_#valid_8| 1) 1) (= 2 (select |v_#length_7| 1))) InVars {#length=|v_#length_7|, #valid=|v_#valid_8|} OutVars{#length=|v_#length_7|, #valid=|v_#valid_8|} AuxVars[] AssignedVars[] 164#[L21-1]true [392] L21-1-->L21-2: Formula: (= (select (select |v_#memory_int_7| 1) 0) 48) InVars {#memory_int=|v_#memory_int_7|} OutVars{#memory_int=|v_#memory_int_7|} AuxVars[] AssignedVars[] 166#[L21-2]true [315] L21-2-->L21-3: Formula: (= (select (select |v_#memory_int_8| 1) 1) 0) InVars {#memory_int=|v_#memory_int_8|} OutVars{#memory_int=|v_#memory_int_8|} AuxVars[] AssignedVars[] 168#[L21-3]true [355] L21-3-->L21-4: Formula: (and (= (select |v_#valid_9| 2) 1) (= 32 (select |v_#length_8| 2))) InVars {#length=|v_#length_8|, #valid=|v_#valid_9|} OutVars{#length=|v_#length_8|, #valid=|v_#valid_9|} AuxVars[] AssignedVars[] 170#[L21-4]true [331] L21-4-->L41: Formula: (and (= v_~A~0.base_7 0) (= v_~A~0.offset_7 0)) InVars {} OutVars{~A~0.base=v_~A~0.base_7, ~A~0.offset=v_~A~0.offset_7} AuxVars[] AssignedVars[~A~0.base, ~A~0.offset] 172#[L41]true [287] L41-->L41-1: Formula: (= v_~max1~0_4 0) InVars {} OutVars{~max1~0=v_~max1~0_4} AuxVars[] AssignedVars[~max1~0] 174#[L41-1]true [305] L41-1-->L41-2: Formula: (= v_~max2~0_4 0) InVars {} OutVars{~max2~0=v_~max2~0_4} AuxVars[] AssignedVars[~max2~0] 176#[L41-2]true [318] L41-2-->L41-3: Formula: (= v_~max3~0_4 0) InVars {} OutVars{~max3~0=v_~max3~0_4} AuxVars[] AssignedVars[~max3~0] 178#[L41-3]true [390] L41-3-->L41-4: Formula: (= v_~M~0_4 0) InVars {} OutVars{~M~0=v_~M~0_4} AuxVars[] AssignedVars[~M~0] 180#[L41-4]true [391] L41-4-->L-1-1: Formula: (= v_~N~0_5 0) InVars {} OutVars{~N~0=v_~N~0_5} AuxVars[] AssignedVars[~N~0] 182#[L-1-1]true [407] L-1-1-->L-1-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] 184#[L-1-2]true [409] L-1-2-->L82: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre13#1=|v_ULTIMATE.start_main_#t~pre13#1_1|, ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_1|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_1|, ULTIMATE.start_main_~#t3~0#1.offset=|v_ULTIMATE.start_main_~#t3~0#1.offset_1|, ULTIMATE.start_main_~#t3~0#1.base=|v_ULTIMATE.start_main_~#t3~0#1.base_1|, ULTIMATE.start_main_#t~pre15#1=|v_ULTIMATE.start_main_#t~pre15#1_1|, ULTIMATE.start_main_#t~nondet18#1=|v_ULTIMATE.start_main_#t~nondet18#1_1|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_1|, ULTIMATE.start_main_#t~pre17#1=|v_ULTIMATE.start_main_#t~pre17#1_1|, ULTIMATE.start_main_#t~mem21#1=|v_ULTIMATE.start_main_#t~mem21#1_1|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_1|, ULTIMATE.start_main_#t~nondet14#1=|v_ULTIMATE.start_main_#t~nondet14#1_1|, ULTIMATE.start_main_#t~mem19#1=|v_ULTIMATE.start_main_#t~mem19#1_1|, ULTIMATE.start_main_#t~mem20#1=|v_ULTIMATE.start_main_#t~mem20#1_1|, ULTIMATE.start_main_#t~nondet16#1=|v_ULTIMATE.start_main_#t~nondet16#1_1|, ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_1|, ULTIMATE.start_main_#t~ret12#1.offset=|v_ULTIMATE.start_main_#t~ret12#1.offset_1|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_1|, ULTIMATE.start_main_#t~ret12#1.base=|v_ULTIMATE.start_main_#t~ret12#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre13#1, ULTIMATE.start_main_#t~nondet10#1, ULTIMATE.start_main_~#t2~0#1.offset, ULTIMATE.start_main_~#t3~0#1.offset, ULTIMATE.start_main_~#t3~0#1.base, ULTIMATE.start_main_#t~pre15#1, ULTIMATE.start_main_#t~nondet18#1, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_#t~pre17#1, ULTIMATE.start_main_#t~mem21#1, ULTIMATE.start_main_~#t1~0#1.offset, ULTIMATE.start_main_#t~nondet14#1, ULTIMATE.start_main_#t~mem19#1, ULTIMATE.start_main_#t~mem20#1, ULTIMATE.start_main_#t~nondet16#1, ULTIMATE.start_main_#t~nondet11#1, ULTIMATE.start_main_#t~ret12#1.offset, ULTIMATE.start_main_~#t2~0#1.base, ULTIMATE.start_main_#t~ret12#1.base] 186#[L82]true [360] L82-->L82-1: Formula: (and (= (store |v_#valid_11| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 1) |v_#valid_10|) (= |v_ULTIMATE.start_main_~#t1~0#1.offset_2| 0) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) (not (= |v_ULTIMATE.start_main_~#t1~0#1.base_2| 0)) (= (store |v_#length_10| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 4) |v_#length_9|) (= (select |v_#valid_11| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_10|, #valid=|v_#valid_11|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_9|, 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_10|} AuxVars[] AssignedVars[#valid, #length, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset] 188#[L82-1]true [269] L82-1-->L82-2: Formula: (and (= (select |v_#valid_13| |v_ULTIMATE.start_main_~#t2~0#1.base_2|) 0) (= (store |v_#valid_13| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 1) |v_#valid_12|) (= (store |v_#length_12| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 4) |v_#length_11|) (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_12|, #valid=|v_#valid_13|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_11|, 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_12|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t2~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t2~0#1.base] 190#[L82-2]true [411] L82-2-->L82-3: Formula: (and (= |v_ULTIMATE.start_main_~#t3~0#1.offset_2| 0) (not (= |v_ULTIMATE.start_main_~#t3~0#1.base_2| 0)) (= |v_#valid_14| (store |v_#valid_15| |v_ULTIMATE.start_main_~#t3~0#1.base_2| 1)) (= (select |v_#valid_15| |v_ULTIMATE.start_main_~#t3~0#1.base_2|) 0) (= (store |v_#length_14| |v_ULTIMATE.start_main_~#t3~0#1.base_2| 4) |v_#length_13|) (< |v_#StackHeapBarrier_4| |v_ULTIMATE.start_main_~#t3~0#1.base_2|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_4|, #length=|v_#length_14|, #valid=|v_#valid_15|} OutVars{ULTIMATE.start_main_~#t3~0#1.base=|v_ULTIMATE.start_main_~#t3~0#1.base_2|, #StackHeapBarrier=|v_#StackHeapBarrier_4|, #length=|v_#length_13|, ULTIMATE.start_main_~#t3~0#1.offset=|v_ULTIMATE.start_main_~#t3~0#1.offset_2|, #valid=|v_#valid_14|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t3~0#1.offset, #valid, ULTIMATE.start_main_~#t3~0#1.base, #length] 192#[L82-3]true [271] L82-3-->L85: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet10#1] 194#[L85]true [299] L85-->L85-1: Formula: (= |v_ULTIMATE.start_main_#t~nondet10#1_3| v_~M~0_5) InVars {ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_3|} OutVars{~M~0=v_~M~0_5, ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_3|} AuxVars[] AssignedVars[~M~0] 196#[L85-1]true [320] L85-1-->L86: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet10#1] 198#[L86]true [263] L86-->L86-1: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet11#1] 200#[L86-1]true [344] L86-1-->L86-2: Formula: (= |v_ULTIMATE.start_main_#t~nondet11#1_3| v_~N~0_6) InVars {ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_3|} OutVars{ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_3|, ~N~0=v_~N~0_6} AuxVars[] AssignedVars[~N~0] 202#[L86-2]true [415] L86-2-->L87: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet11#1] 204#[L87]true [322] L87-->L87-1: Formula: (= |v_ULTIMATE.start_create_fresh_int_array_#in~size#1_1| v_~N~0_7) InVars {~N~0=v_~N~0_7} OutVars{ULTIMATE.start_create_fresh_int_array_#in~size#1=|v_ULTIMATE.start_create_fresh_int_array_#in~size#1_1|, ~N~0=v_~N~0_7} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_#in~size#1] 206#[L87-1]true [268] L87-1-->L87-2: Formula: true InVars {} OutVars{ULTIMATE.start_create_fresh_int_array_#res#1.base=|v_ULTIMATE.start_create_fresh_int_array_#res#1.base_1|, ULTIMATE.start_create_fresh_int_array_#res#1.offset=|v_ULTIMATE.start_create_fresh_int_array_#res#1.offset_1|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_#res#1.offset, ULTIMATE.start_create_fresh_int_array_#res#1.base] 208#[L87-2]true [265] L87-2-->L105: Formula: true InVars {} OutVars{ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset=|v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset_1|, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset=|v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset_1|, ULTIMATE.start_create_fresh_int_array_~arr~0#1.base=|v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.base_1|, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base=|v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base_1|, ULTIMATE.start_create_fresh_int_array_~i~3#1=|v_ULTIMATE.start_create_fresh_int_array_~i~3#1_1|, ULTIMATE.start_create_fresh_int_array_#t~nondet24#1=|v_ULTIMATE.start_create_fresh_int_array_#t~nondet24#1_1|, ULTIMATE.start_create_fresh_int_array_~size#1=|v_ULTIMATE.start_create_fresh_int_array_~size#1_1|, ULTIMATE.start_create_fresh_int_array_#t~post23#1=|v_ULTIMATE.start_create_fresh_int_array_#t~post23#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset, ULTIMATE.start_create_fresh_int_array_~arr~0#1.base, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base, ULTIMATE.start_create_fresh_int_array_~i~3#1, ULTIMATE.start_create_fresh_int_array_#t~nondet24#1, ULTIMATE.start_create_fresh_int_array_~size#1, ULTIMATE.start_create_fresh_int_array_#t~post23#1] 210#[L105]true [273] L105-->L106: Formula: (= |v_ULTIMATE.start_create_fresh_int_array_~size#1_2| |v_ULTIMATE.start_create_fresh_int_array_#in~size#1_2|) InVars {ULTIMATE.start_create_fresh_int_array_#in~size#1=|v_ULTIMATE.start_create_fresh_int_array_#in~size#1_2|} OutVars{ULTIMATE.start_create_fresh_int_array_#in~size#1=|v_ULTIMATE.start_create_fresh_int_array_#in~size#1_2|, ULTIMATE.start_create_fresh_int_array_~size#1=|v_ULTIMATE.start_create_fresh_int_array_~size#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_~size#1] 212#[L106]true [393] L106-->L106-1: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1| (ite (<= 0 |v_ULTIMATE.start_create_fresh_int_array_~size#1_3|) 1 0)) InVars {ULTIMATE.start_create_fresh_int_array_~size#1=|v_ULTIMATE.start_create_fresh_int_array_~size#1_3|} OutVars{ULTIMATE.start_create_fresh_int_array_~size#1=|v_ULTIMATE.start_create_fresh_int_array_~size#1_3|, 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] 214#[L106-1]true [383] L106-1-->L36: 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] 216#[L36]true [404] L36-->L37: 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] 218#[L37]true [325] L37-->L36-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[] 220#[L36-1]true [389] L36-1-->L106-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] 222#[L106-2]true [319] L106-2-->L107: Formula: true InVars {} OutVars{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] 224#[L107]true [405] L107-->L107-1: Formula: (= (ite (<= (mod |v_ULTIMATE.start_create_fresh_int_array_~size#1_4| 4294967296) 1073741823) 1 0) |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4|) InVars {ULTIMATE.start_create_fresh_int_array_~size#1=|v_ULTIMATE.start_create_fresh_int_array_~size#1_4|} OutVars{ULTIMATE.start_create_fresh_int_array_~size#1=|v_ULTIMATE.start_create_fresh_int_array_~size#1_4|, 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_#in~cond#1] 226#[L107-1]true [398] L107-1-->L36-2: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] 228#[L36-2]true [377] L36-2-->L37-3: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_5| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_7|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_5|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_7|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_5|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] 230#[L37-3]true [294] L37-3-->L36-3: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_9| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_9|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_9|} AuxVars[] AssignedVars[] 232#[L36-3]true [342] L36-3-->L107-2: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_10|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] 234#[L107-2]true [335] L107-2-->L109: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] 236#[L109]true [380] L109-->L109-1: Formula: (and (= |v_#valid_16| (store |v_#valid_17| |v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base_2| 1)) (= (select |v_#valid_17| |v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base_2|) 0) (= |v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset_2| 0) (= |v_#length_15| (store |v_#length_16| |v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base_2| (* 4 (mod |v_ULTIMATE.start_create_fresh_int_array_~size#1_5| 1073741824)))) (< |v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base_2| |v_#StackHeapBarrier_5|) (not (= |v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base_2| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_5|, #length=|v_#length_16|, ULTIMATE.start_create_fresh_int_array_~size#1=|v_ULTIMATE.start_create_fresh_int_array_~size#1_5|, #valid=|v_#valid_17|} OutVars{ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset=|v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset_2|, #StackHeapBarrier=|v_#StackHeapBarrier_5|, #valid=|v_#valid_16|, #length=|v_#length_15|, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base=|v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base_2|, ULTIMATE.start_create_fresh_int_array_~size#1=|v_ULTIMATE.start_create_fresh_int_array_~size#1_5|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset, #valid, #length, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base] 238#[L109-1]true [399] L109-1-->L109-2: Formula: (and (= |v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base_3| |v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.base_2|) (= |v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset_2| |v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset_3|)) InVars {ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base=|v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base_3|, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset=|v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset_3|} OutVars{ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset=|v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset_2|, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset=|v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset_3|, ULTIMATE.start_create_fresh_int_array_~arr~0#1.base=|v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.base_2|, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base=|v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base_3|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset, ULTIMATE.start_create_fresh_int_array_~arr~0#1.base] 240#[L109-2]true [406] L109-2-->L110: Formula: true InVars {} OutVars{ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base=|v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base_4|, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset=|v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset_4|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base] 242#[L110]true [339] L110-->L110-6: Formula: (= |v_ULTIMATE.start_create_fresh_int_array_~i~3#1_2| 0) InVars {} OutVars{ULTIMATE.start_create_fresh_int_array_~i~3#1=|v_ULTIMATE.start_create_fresh_int_array_~i~3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_~i~3#1] 244#[L110-6]true [279] L110-6-->L111: Formula: (< |v_ULTIMATE.start_create_fresh_int_array_~i~3#1_4| |v_ULTIMATE.start_create_fresh_int_array_~size#1_7|) InVars {ULTIMATE.start_create_fresh_int_array_~i~3#1=|v_ULTIMATE.start_create_fresh_int_array_~i~3#1_4|, ULTIMATE.start_create_fresh_int_array_~size#1=|v_ULTIMATE.start_create_fresh_int_array_~size#1_7|} OutVars{ULTIMATE.start_create_fresh_int_array_~i~3#1=|v_ULTIMATE.start_create_fresh_int_array_~i~3#1_4|, ULTIMATE.start_create_fresh_int_array_~size#1=|v_ULTIMATE.start_create_fresh_int_array_~size#1_7|} AuxVars[] AssignedVars[] 247#[L111]true [275] L111-->L111-1: Formula: true InVars {} OutVars{ULTIMATE.start_create_fresh_int_array_#t~nondet24#1=|v_ULTIMATE.start_create_fresh_int_array_#t~nondet24#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_#t~nondet24#1] 249#[L111-1]true [384] L111-1-->L111-2: Formula: (let ((.cse1 (* 4 |v_ULTIMATE.start_create_fresh_int_array_~i~3#1_5|))) (let ((.cse0 (+ |v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset_3| .cse1))) (and (= (store |v_#memory_int_10| |v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.base_3| (store (select |v_#memory_int_10| |v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.base_3|) .cse0 |v_ULTIMATE.start_create_fresh_int_array_#t~nondet24#1_3|)) |v_#memory_int_9|) (<= (+ |v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset_3| .cse1 4) (select |v_#length_17| |v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.base_3|)) (<= 0 .cse0) (= (select |v_#valid_18| |v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.base_3|) 1)))) InVars {ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset=|v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset_3|, ULTIMATE.start_create_fresh_int_array_~arr~0#1.base=|v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.base_3|, #valid=|v_#valid_18|, #memory_int=|v_#memory_int_10|, #length=|v_#length_17|, ULTIMATE.start_create_fresh_int_array_~i~3#1=|v_ULTIMATE.start_create_fresh_int_array_~i~3#1_5|, ULTIMATE.start_create_fresh_int_array_#t~nondet24#1=|v_ULTIMATE.start_create_fresh_int_array_#t~nondet24#1_3|} OutVars{ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset=|v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset_3|, ULTIMATE.start_create_fresh_int_array_~arr~0#1.base=|v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.base_3|, #valid=|v_#valid_18|, #memory_int=|v_#memory_int_9|, #length=|v_#length_17|, ULTIMATE.start_create_fresh_int_array_~i~3#1=|v_ULTIMATE.start_create_fresh_int_array_~i~3#1_5|, ULTIMATE.start_create_fresh_int_array_#t~nondet24#1=|v_ULTIMATE.start_create_fresh_int_array_#t~nondet24#1_3|} AuxVars[] AssignedVars[#memory_int] 251#[L111-2]true [365] L111-2-->L110-3: Formula: true InVars {} OutVars{ULTIMATE.start_create_fresh_int_array_#t~nondet24#1=|v_ULTIMATE.start_create_fresh_int_array_#t~nondet24#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_#t~nondet24#1] 253#[L110-3]true [348] L110-3-->L110-4: Formula: (= |v_ULTIMATE.start_create_fresh_int_array_#t~post23#1_2| |v_ULTIMATE.start_create_fresh_int_array_~i~3#1_6|) InVars {ULTIMATE.start_create_fresh_int_array_~i~3#1=|v_ULTIMATE.start_create_fresh_int_array_~i~3#1_6|} OutVars{ULTIMATE.start_create_fresh_int_array_~i~3#1=|v_ULTIMATE.start_create_fresh_int_array_~i~3#1_6|, ULTIMATE.start_create_fresh_int_array_#t~post23#1=|v_ULTIMATE.start_create_fresh_int_array_#t~post23#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_#t~post23#1] 255#[L110-4]true [284] L110-4-->L110-5: Formula: (= (+ |v_ULTIMATE.start_create_fresh_int_array_#t~post23#1_3| 1) |v_ULTIMATE.start_create_fresh_int_array_~i~3#1_7|) InVars {ULTIMATE.start_create_fresh_int_array_#t~post23#1=|v_ULTIMATE.start_create_fresh_int_array_#t~post23#1_3|} OutVars{ULTIMATE.start_create_fresh_int_array_~i~3#1=|v_ULTIMATE.start_create_fresh_int_array_~i~3#1_7|, ULTIMATE.start_create_fresh_int_array_#t~post23#1=|v_ULTIMATE.start_create_fresh_int_array_#t~post23#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_~i~3#1] 257#[L110-5]true [276] L110-5-->L110-6: Formula: true InVars {} OutVars{ULTIMATE.start_create_fresh_int_array_#t~post23#1=|v_ULTIMATE.start_create_fresh_int_array_#t~post23#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_#t~post23#1] 244#[L110-6]true [280] L110-6-->L110-7: Formula: (<= |v_ULTIMATE.start_create_fresh_int_array_~size#1_6| |v_ULTIMATE.start_create_fresh_int_array_~i~3#1_3|) InVars {ULTIMATE.start_create_fresh_int_array_~i~3#1=|v_ULTIMATE.start_create_fresh_int_array_~i~3#1_3|, ULTIMATE.start_create_fresh_int_array_~size#1=|v_ULTIMATE.start_create_fresh_int_array_~size#1_6|} OutVars{ULTIMATE.start_create_fresh_int_array_~i~3#1=|v_ULTIMATE.start_create_fresh_int_array_~i~3#1_3|, ULTIMATE.start_create_fresh_int_array_~size#1=|v_ULTIMATE.start_create_fresh_int_array_~size#1_6|} AuxVars[] AssignedVars[] 633#[L110-7]true [321] L110-7-->L113: Formula: true InVars {} OutVars{ULTIMATE.start_create_fresh_int_array_~i~3#1=|v_ULTIMATE.start_create_fresh_int_array_~i~3#1_8|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_~i~3#1] 635#[L113]true [385] L113-->create_fresh_int_array_returnLabel#1: Formula: (and (= |v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.base_4| |v_ULTIMATE.start_create_fresh_int_array_#res#1.base_2|) (= |v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset_4| |v_ULTIMATE.start_create_fresh_int_array_#res#1.offset_2|)) InVars {ULTIMATE.start_create_fresh_int_array_~arr~0#1.base=|v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.base_4|, ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset=|v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset_4|} OutVars{ULTIMATE.start_create_fresh_int_array_#res#1.offset=|v_ULTIMATE.start_create_fresh_int_array_#res#1.offset_2|, ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset=|v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset_4|, ULTIMATE.start_create_fresh_int_array_~arr~0#1.base=|v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.base_4|, ULTIMATE.start_create_fresh_int_array_#res#1.base=|v_ULTIMATE.start_create_fresh_int_array_#res#1.base_2|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_#res#1.offset, ULTIMATE.start_create_fresh_int_array_#res#1.base] 637#[create_fresh_int_array_returnLabel#1]true [388] create_fresh_int_array_returnLabel#1-->L87-3: Formula: (and (= |v_ULTIMATE.start_main_#t~ret12#1.offset_2| |v_ULTIMATE.start_create_fresh_int_array_#res#1.offset_3|) (= |v_ULTIMATE.start_main_#t~ret12#1.base_2| |v_ULTIMATE.start_create_fresh_int_array_#res#1.base_3|)) InVars {ULTIMATE.start_create_fresh_int_array_#res#1.base=|v_ULTIMATE.start_create_fresh_int_array_#res#1.base_3|, ULTIMATE.start_create_fresh_int_array_#res#1.offset=|v_ULTIMATE.start_create_fresh_int_array_#res#1.offset_3|} OutVars{ULTIMATE.start_create_fresh_int_array_#res#1.offset=|v_ULTIMATE.start_create_fresh_int_array_#res#1.offset_3|, ULTIMATE.start_create_fresh_int_array_#res#1.base=|v_ULTIMATE.start_create_fresh_int_array_#res#1.base_3|, ULTIMATE.start_main_#t~ret12#1.offset=|v_ULTIMATE.start_main_#t~ret12#1.offset_2|, ULTIMATE.start_main_#t~ret12#1.base=|v_ULTIMATE.start_main_#t~ret12#1.base_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~ret12#1.offset, ULTIMATE.start_main_#t~ret12#1.base] 639#[L87-3]true [277] L87-3-->L87-4: Formula: true InVars {} OutVars{ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset=|v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset_5|, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset=|v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset_5|, ULTIMATE.start_create_fresh_int_array_~arr~0#1.base=|v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.base_5|, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base=|v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base_5|, ULTIMATE.start_create_fresh_int_array_~i~3#1=|v_ULTIMATE.start_create_fresh_int_array_~i~3#1_9|, ULTIMATE.start_create_fresh_int_array_#t~nondet24#1=|v_ULTIMATE.start_create_fresh_int_array_#t~nondet24#1_5|, ULTIMATE.start_create_fresh_int_array_~size#1=|v_ULTIMATE.start_create_fresh_int_array_~size#1_8|, ULTIMATE.start_create_fresh_int_array_#t~post23#1=|v_ULTIMATE.start_create_fresh_int_array_#t~post23#1_5|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset, ULTIMATE.start_create_fresh_int_array_~arr~0#1.base, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base, ULTIMATE.start_create_fresh_int_array_~i~3#1, ULTIMATE.start_create_fresh_int_array_#t~nondet24#1, ULTIMATE.start_create_fresh_int_array_~size#1, ULTIMATE.start_create_fresh_int_array_#t~post23#1] 641#[L87-4]true [295] L87-4-->L87-5: Formula: true InVars {} OutVars{ULTIMATE.start_create_fresh_int_array_#in~size#1=|v_ULTIMATE.start_create_fresh_int_array_#in~size#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_#in~size#1] 643#[L87-5]true [332] L87-5-->L87-6: Formula: (and (= |v_ULTIMATE.start_main_#t~ret12#1.offset_3| v_~A~0.offset_8) (= v_~A~0.base_8 |v_ULTIMATE.start_main_#t~ret12#1.base_3|)) InVars {ULTIMATE.start_main_#t~ret12#1.offset=|v_ULTIMATE.start_main_#t~ret12#1.offset_3|, ULTIMATE.start_main_#t~ret12#1.base=|v_ULTIMATE.start_main_#t~ret12#1.base_3|} OutVars{~A~0.base=v_~A~0.base_8, ~A~0.offset=v_~A~0.offset_8, ULTIMATE.start_main_#t~ret12#1.offset=|v_ULTIMATE.start_main_#t~ret12#1.offset_3|, ULTIMATE.start_main_#t~ret12#1.base=|v_ULTIMATE.start_main_#t~ret12#1.base_3|} AuxVars[] AssignedVars[~A~0.base, ~A~0.offset] 645#[L87-6]true [274] L87-6-->L89: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~ret12#1.offset=|v_ULTIMATE.start_main_#t~ret12#1.offset_4|, ULTIMATE.start_main_#t~ret12#1.base=|v_ULTIMATE.start_main_#t~ret12#1.base_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~ret12#1.offset, ULTIMATE.start_main_#t~ret12#1.base] 647#[L89]true [341] L89-->L89-1: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_7| (ite (and (< v_~M~0_6 v_~N~0_8) (<= 0 v_~M~0_6)) 1 0)) InVars {~M~0=v_~M~0_6, ~N~0=v_~N~0_8} OutVars{~N~0=v_~N~0_8, ~M~0=v_~M~0_6, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] 649#[L89-1]true [317] L89-1-->L36-4: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_11|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] 651#[L36-4]true [286] L36-4-->L37-6: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_8| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_12|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_8|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_12|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_8|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] 653#[L37-6]true [338] L37-6-->L36-5: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_14| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_14|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_14|} AuxVars[] AssignedVars[] 657#[L36-5]true [312] L36-5-->L89-2: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_15|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] 659#[L89-2]true [353] L89-2-->L92: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_9|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] 661#[L92]true [381] L92-->L92-1: Formula: (= |v_ULTIMATE.start_main_#t~pre13#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre13#1=|v_ULTIMATE.start_main_#t~pre13#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre13#1] 663#[L92-1]true [370] L92-1-->L92-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 665#[L92-2]true [329] L92-2-->L92-3: Formula: (and (= (select |v_#valid_19| |v_ULTIMATE.start_main_~#t1~0#1.base_3|) 1) (= |v_#memory_int_11| (store |v_#memory_int_12| |v_ULTIMATE.start_main_~#t1~0#1.base_3| (store (select |v_#memory_int_12| |v_ULTIMATE.start_main_~#t1~0#1.base_3|) |v_ULTIMATE.start_main_~#t1~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre13#1_3|))) (<= 0 |v_ULTIMATE.start_main_~#t1~0#1.offset_3|) (<= (+ |v_ULTIMATE.start_main_~#t1~0#1.offset_3| 4) (select |v_#length_18| |v_ULTIMATE.start_main_~#t1~0#1.base_3|))) InVars {ULTIMATE.start_main_#t~pre13#1=|v_ULTIMATE.start_main_#t~pre13#1_3|, #valid=|v_#valid_19|, #memory_int=|v_#memory_int_12|, #length=|v_#length_18|, 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~pre13#1=|v_ULTIMATE.start_main_#t~pre13#1_3|, #valid=|v_#valid_19|, #memory_int=|v_#memory_int_11|, #length=|v_#length_18|, 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] 667#[L92-3]true [457] L92-3-->$Ultimate##0: Formula: (and (= |v_ULTIMATE.start_main_#t~pre13#1_7| v_thread1Thread1of1ForFork2_thidvar0_2) (= 0 v_thread1Thread1of1ForFork2_thidvar1_2)) InVars {ULTIMATE.start_main_#t~pre13#1=|v_ULTIMATE.start_main_#t~pre13#1_7|} OutVars{thread1Thread1of1ForFork2_thidvar1=v_thread1Thread1of1ForFork2_thidvar1_2, thread1Thread1of1ForFork2_thidvar0=v_thread1Thread1of1ForFork2_thidvar0_2, thread1Thread1of1ForFork2_#res.base=|v_thread1Thread1of1ForFork2_#res.base_4|, ULTIMATE.start_main_#t~pre13#1=|v_ULTIMATE.start_main_#t~pre13#1_7|, thread1Thread1of1ForFork2_#t~mem2=|v_thread1Thread1of1ForFork2_#t~mem2_4|, thread1Thread1of1ForFork2_#t~mem3=|v_thread1Thread1of1ForFork2_#t~mem3_6|, thread1Thread1of1ForFork2_~i~0=v_thread1Thread1of1ForFork2_~i~0_16, thread1Thread1of1ForFork2_#t~post1=|v_thread1Thread1of1ForFork2_#t~post1_8|, thread1Thread1of1ForFork2_#res.offset=|v_thread1Thread1of1ForFork2_#res.offset_4|} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_thidvar1, thread1Thread1of1ForFork2_thidvar0, thread1Thread1of1ForFork2_#res.base, thread1Thread1of1ForFork2_#t~mem2, thread1Thread1of1ForFork2_#t~mem3, thread1Thread1of1ForFork2_~i~0, thread1Thread1of1ForFork2_#t~post1, thread1Thread1of1ForFork2_#res.offset] 669#[L92-4, $Ultimate##0]true [416] $Ultimate##0-->L46-4: Formula: (= v_thread1Thread1of1ForFork2_~i~0_1 0) InVars {} OutVars{thread1Thread1of1ForFork2_~i~0=v_thread1Thread1of1ForFork2_~i~0_1} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_~i~0] 671#[L46-4, L92-4]true [2024-02-09 23:40:32,382 INFO L750 eck$LassoCheckResult]: Loop: 671#[L46-4, L92-4]true [417] L46-4-->L47: Formula: (< v_thread1Thread1of1ForFork2_~i~0_3 v_~N~0_2) InVars {thread1Thread1of1ForFork2_~i~0=v_thread1Thread1of1ForFork2_~i~0_3, ~N~0=v_~N~0_2} OutVars{thread1Thread1of1ForFork2_~i~0=v_thread1Thread1of1ForFork2_~i~0_3, ~N~0=v_~N~0_2} AuxVars[] AssignedVars[] 673#[L47, L92-4]true [420] L47-->L48-4: Formula: (let ((.cse5 (* v_thread1Thread1of1ForFork2_~i~0_7 4))) (let ((.cse4 (+ .cse5 v_~A~0.offset_27))) (let ((.cse0 (<= (+ .cse5 v_~A~0.offset_27 4) (select |v_#length_42| v_~A~0.base_27))) (.cse2 (<= 0 .cse4)) (.cse3 (= (select |v_#valid_49| v_~A~0.base_27) 1))) (and .cse0 (let ((.cse1 (select (select |v_#memory_int_38| v_~A~0.base_27) .cse4))) (or (and .cse0 (< v_~max1~0_21 .cse1) .cse2 (= v_~max1~0_20 .cse1) .cse3) (and (<= .cse1 v_~max1~0_21) (= |v_thread1Thread1of1ForFork2_#t~mem3_2| |v_thread1Thread1of1ForFork2_#t~mem3_1|) (= v_~max1~0_21 v_~max1~0_20)))) .cse2 .cse3)))) InVars {~max1~0=v_~max1~0_21, ~A~0.base=v_~A~0.base_27, ~A~0.offset=v_~A~0.offset_27, thread1Thread1of1ForFork2_#t~mem3=|v_thread1Thread1of1ForFork2_#t~mem3_1|, thread1Thread1of1ForFork2_~i~0=v_thread1Thread1of1ForFork2_~i~0_7, #valid=|v_#valid_49|, #memory_int=|v_#memory_int_38|, #length=|v_#length_42|} OutVars{~max1~0=v_~max1~0_20, ~A~0.base=v_~A~0.base_27, ~A~0.offset=v_~A~0.offset_27, thread1Thread1of1ForFork2_#t~mem2=|v_thread1Thread1of1ForFork2_#t~mem2_1|, thread1Thread1of1ForFork2_#t~mem3=|v_thread1Thread1of1ForFork2_#t~mem3_2|, thread1Thread1of1ForFork2_~i~0=v_thread1Thread1of1ForFork2_~i~0_7, #valid=|v_#valid_49|, #memory_int=|v_#memory_int_38|, #length=|v_#length_42|} AuxVars[] AssignedVars[~max1~0, thread1Thread1of1ForFork2_#t~mem2, thread1Thread1of1ForFork2_#t~mem3] 675#[L48-4, L92-4]true [422] L48-4-->L46-2: Formula: (= |v_thread1Thread1of1ForFork2_#t~post1_1| v_thread1Thread1of1ForFork2_~i~0_11) InVars {thread1Thread1of1ForFork2_~i~0=v_thread1Thread1of1ForFork2_~i~0_11} OutVars{thread1Thread1of1ForFork2_~i~0=v_thread1Thread1of1ForFork2_~i~0_11, thread1Thread1of1ForFork2_#t~post1=|v_thread1Thread1of1ForFork2_#t~post1_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_#t~post1] 677#[L46-2, L92-4]true [424] L46-2-->L46-3: Formula: (= (+ |v_thread1Thread1of1ForFork2_#t~post1_3| 1) v_thread1Thread1of1ForFork2_~i~0_13) InVars {thread1Thread1of1ForFork2_#t~post1=|v_thread1Thread1of1ForFork2_#t~post1_3|} OutVars{thread1Thread1of1ForFork2_~i~0=v_thread1Thread1of1ForFork2_~i~0_13, thread1Thread1of1ForFork2_#t~post1=|v_thread1Thread1of1ForFork2_#t~post1_3|} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_~i~0] 679#[L92-4, L46-3]true [426] L46-3-->L46-4: Formula: true InVars {} OutVars{thread1Thread1of1ForFork2_#t~post1=|v_thread1Thread1of1ForFork2_#t~post1_5|} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_#t~post1] 671#[L46-4, L92-4]true [417] L46-4-->L47: Formula: (< v_thread1Thread1of1ForFork2_~i~0_3 v_~N~0_2) InVars {thread1Thread1of1ForFork2_~i~0=v_thread1Thread1of1ForFork2_~i~0_3, ~N~0=v_~N~0_2} OutVars{thread1Thread1of1ForFork2_~i~0=v_thread1Thread1of1ForFork2_~i~0_3, ~N~0=v_~N~0_2} AuxVars[] AssignedVars[] 673#[L47, L92-4]true [420] L47-->L48-4: Formula: (let ((.cse5 (* v_thread1Thread1of1ForFork2_~i~0_7 4))) (let ((.cse4 (+ .cse5 v_~A~0.offset_27))) (let ((.cse0 (<= (+ .cse5 v_~A~0.offset_27 4) (select |v_#length_42| v_~A~0.base_27))) (.cse2 (<= 0 .cse4)) (.cse3 (= (select |v_#valid_49| v_~A~0.base_27) 1))) (and .cse0 (let ((.cse1 (select (select |v_#memory_int_38| v_~A~0.base_27) .cse4))) (or (and .cse0 (< v_~max1~0_21 .cse1) .cse2 (= v_~max1~0_20 .cse1) .cse3) (and (<= .cse1 v_~max1~0_21) (= |v_thread1Thread1of1ForFork2_#t~mem3_2| |v_thread1Thread1of1ForFork2_#t~mem3_1|) (= v_~max1~0_21 v_~max1~0_20)))) .cse2 .cse3)))) InVars {~max1~0=v_~max1~0_21, ~A~0.base=v_~A~0.base_27, ~A~0.offset=v_~A~0.offset_27, thread1Thread1of1ForFork2_#t~mem3=|v_thread1Thread1of1ForFork2_#t~mem3_1|, thread1Thread1of1ForFork2_~i~0=v_thread1Thread1of1ForFork2_~i~0_7, #valid=|v_#valid_49|, #memory_int=|v_#memory_int_38|, #length=|v_#length_42|} OutVars{~max1~0=v_~max1~0_20, ~A~0.base=v_~A~0.base_27, ~A~0.offset=v_~A~0.offset_27, thread1Thread1of1ForFork2_#t~mem2=|v_thread1Thread1of1ForFork2_#t~mem2_1|, thread1Thread1of1ForFork2_#t~mem3=|v_thread1Thread1of1ForFork2_#t~mem3_2|, thread1Thread1of1ForFork2_~i~0=v_thread1Thread1of1ForFork2_~i~0_7, #valid=|v_#valid_49|, #memory_int=|v_#memory_int_38|, #length=|v_#length_42|} AuxVars[] AssignedVars[~max1~0, thread1Thread1of1ForFork2_#t~mem2, thread1Thread1of1ForFork2_#t~mem3] 675#[L48-4, L92-4]true [422] L48-4-->L46-2: Formula: (= |v_thread1Thread1of1ForFork2_#t~post1_1| v_thread1Thread1of1ForFork2_~i~0_11) InVars {thread1Thread1of1ForFork2_~i~0=v_thread1Thread1of1ForFork2_~i~0_11} OutVars{thread1Thread1of1ForFork2_~i~0=v_thread1Thread1of1ForFork2_~i~0_11, thread1Thread1of1ForFork2_#t~post1=|v_thread1Thread1of1ForFork2_#t~post1_1|} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_#t~post1] 677#[L46-2, L92-4]true [424] L46-2-->L46-3: Formula: (= (+ |v_thread1Thread1of1ForFork2_#t~post1_3| 1) v_thread1Thread1of1ForFork2_~i~0_13) InVars {thread1Thread1of1ForFork2_#t~post1=|v_thread1Thread1of1ForFork2_#t~post1_3|} OutVars{thread1Thread1of1ForFork2_~i~0=v_thread1Thread1of1ForFork2_~i~0_13, thread1Thread1of1ForFork2_#t~post1=|v_thread1Thread1of1ForFork2_#t~post1_3|} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_~i~0] 679#[L92-4, L46-3]true [426] L46-3-->L46-4: Formula: true InVars {} OutVars{thread1Thread1of1ForFork2_#t~post1=|v_thread1Thread1of1ForFork2_#t~post1_5|} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_#t~post1] 671#[L46-4, L92-4]true [2024-02-09 23:40:32,382 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2024-02-09 23:40:32,382 INFO L85 PathProgramCache]: Analyzing trace with hash 2095660930, now seen corresponding path program 1 times [2024-02-09 23:40:32,382 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-02-09 23:40:32,382 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [7814388] [2024-02-09 23:40:32,382 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-09 23:40:32,383 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-02-09 23:40:32,402 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-02-09 23:40:32,403 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-02-09 23:40:32,415 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-02-09 23:40:32,421 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-02-09 23:40:32,422 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2024-02-09 23:40:32,422 INFO L85 PathProgramCache]: Analyzing trace with hash -1980218911, now seen corresponding path program 3 times [2024-02-09 23:40:32,422 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-02-09 23:40:32,422 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [981693393] [2024-02-09 23:40:32,422 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-09 23:40:32,422 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-02-09 23:40:32,425 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-02-09 23:40:32,426 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-02-09 23:40:32,428 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-02-09 23:40:32,429 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-02-09 23:40:32,430 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2024-02-09 23:40:32,430 INFO L85 PathProgramCache]: Analyzing trace with hash 115135522, now seen corresponding path program 1 times [2024-02-09 23:40:32,430 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-02-09 23:40:32,430 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1769478775] [2024-02-09 23:40:32,430 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-09 23:40:32,430 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-02-09 23:40:32,440 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-02-09 23:40:32,569 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 4 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-02-09 23:40:32,570 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-02-09 23:40:32,570 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1769478775] [2024-02-09 23:40:32,570 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1769478775] provided 0 perfect and 1 imperfect interpolant sequences [2024-02-09 23:40:32,570 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [180579213] [2024-02-09 23:40:32,570 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-09 23:40:32,570 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-02-09 23:40:32,570 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-09 23:40:32,571 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-02-09 23:40:32,586 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Waiting until timeout for monitored process [2024-02-09 23:40:32,657 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-02-09 23:40:32,658 INFO L262 TraceCheckSpWp]: Trace formula consists of 199 conjuncts, 10 conjunts are in the unsatisfiable core [2024-02-09 23:40:32,660 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-02-09 23:40:32,810 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 5 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-02-09 23:40:32,811 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-02-09 23:40:33,002 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 5 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-02-09 23:40:33,003 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [180579213] provided 0 perfect and 2 imperfect interpolant sequences [2024-02-09 23:40:33,003 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-02-09 23:40:33,003 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11, 11] total 26 [2024-02-09 23:40:33,003 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1708544485] [2024-02-09 23:40:33,003 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-02-09 23:40:33,170 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-02-09 23:40:33,170 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2024-02-09 23:40:33,171 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=130, Invalid=520, Unknown=0, NotChecked=0, Total=650 [2024-02-09 23:41:05,226 INFO L175 Difference]: Start difference. First operand has 232 places, 341 transitions, 1510 flow. Second operand 575 states and 91425 transitions. [2024-02-09 23:41:05,227 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 232 places, 341 transitions, 1510 flow. Second operand 575 states and 91425 transitions. [2024-02-09 23:41:05,282 INFO L120 encePairwiseOnDemand]: Number of universal subtrahend loopers: 128 of 159 [2024-02-09 23:41:05,282 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-02-09 23:41:10,985 INFO L124 PetriNetUnfolderBase]: 56214/78139 cut-off events. [2024-02-09 23:41:10,985 INFO L125 PetriNetUnfolderBase]: For 12819/12819 co-relation queries the response was YES. [2024-02-09 23:41:11,195 INFO L83 FinitePrefix]: Finished finitePrefix Result has 172551 conditions, 78139 events. 56214/78139 cut-off events. For 12819/12819 co-relation queries the response was YES. Maximal size of possible extension queue 1532. Compared 479879 event pairs, 17944 based on Foata normal form. 0/72191 useless extension candidates. Maximal degree in co-relation 172538. Up to 38956 conditions per place. [2024-02-09 23:41:11,564 INFO L140 encePairwiseOnDemand]: 139/159 looper letters, 36 selfloop transitions, 58 changer transitions 0/377 dead transitions. [2024-02-09 23:41:11,564 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 190 places, 377 transitions, 1854 flow [2024-02-09 23:41:11,566 INFO L231 Difference]: Finished difference. Result has 816 places, 371 transitions, 1863 flow [2024-02-09 23:41:11,566 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 575 states. [2024-02-09 23:41:11,568 INFO L428 stractBuchiCegarLoop]: Abstraction has has 816 places, 371 transitions, 1863 flow [2024-02-09 23:41:11,568 INFO L335 stractBuchiCegarLoop]: ======== Iteration 5 ============ [2024-02-09 23:41:11,568 INFO L84 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 816 places, 371 transitions, 1863 flow [2024-02-09 23:41:11,829 INFO L185 PetriNetUnfolderBase]: Found word, exiting Unfolder. [2024-02-09 23:41:11,829 INFO L124 PetriNetUnfolderBase]: 1279/2225 cut-off events. [2024-02-09 23:41:11,829 INFO L125 PetriNetUnfolderBase]: For 1038/1038 co-relation queries the response was YES. [2024-02-09 23:41:11,829 INFO L88 BuchiIsEmpty]: Finished buchiIsEmpty language is not empty [2024-02-09 23:41:11,831 INFO L748 eck$LassoCheckResult]: Stem: 158#[$Ultimate##0]true [290] $Ultimate##0-->L-1: Formula: (= (select |v_#valid_7| 0) 0) InVars {#valid=|v_#valid_7|} OutVars{#valid=|v_#valid_7|} AuxVars[] AssignedVars[] 160#[L-1]true [304] L-1-->L21: Formula: (< 0 |v_#StackHeapBarrier_1|) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_1|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_1|} AuxVars[] AssignedVars[] 162#[L21]true [364] L21-->L21-1: Formula: (and (= (select |v_#valid_8| 1) 1) (= 2 (select |v_#length_7| 1))) InVars {#length=|v_#length_7|, #valid=|v_#valid_8|} OutVars{#length=|v_#length_7|, #valid=|v_#valid_8|} AuxVars[] AssignedVars[] 164#[L21-1]true [392] L21-1-->L21-2: Formula: (= (select (select |v_#memory_int_7| 1) 0) 48) InVars {#memory_int=|v_#memory_int_7|} OutVars{#memory_int=|v_#memory_int_7|} AuxVars[] AssignedVars[] 166#[L21-2]true [315] L21-2-->L21-3: Formula: (= (select (select |v_#memory_int_8| 1) 1) 0) InVars {#memory_int=|v_#memory_int_8|} OutVars{#memory_int=|v_#memory_int_8|} AuxVars[] AssignedVars[] 168#[L21-3]true [355] L21-3-->L21-4: Formula: (and (= (select |v_#valid_9| 2) 1) (= 32 (select |v_#length_8| 2))) InVars {#length=|v_#length_8|, #valid=|v_#valid_9|} OutVars{#length=|v_#length_8|, #valid=|v_#valid_9|} AuxVars[] AssignedVars[] 170#[L21-4]true [331] L21-4-->L41: Formula: (and (= v_~A~0.base_7 0) (= v_~A~0.offset_7 0)) InVars {} OutVars{~A~0.base=v_~A~0.base_7, ~A~0.offset=v_~A~0.offset_7} AuxVars[] AssignedVars[~A~0.base, ~A~0.offset] 172#[L41]true [287] L41-->L41-1: Formula: (= v_~max1~0_4 0) InVars {} OutVars{~max1~0=v_~max1~0_4} AuxVars[] AssignedVars[~max1~0] 174#[L41-1]true [305] L41-1-->L41-2: Formula: (= v_~max2~0_4 0) InVars {} OutVars{~max2~0=v_~max2~0_4} AuxVars[] AssignedVars[~max2~0] 176#[L41-2]true [318] L41-2-->L41-3: Formula: (= v_~max3~0_4 0) InVars {} OutVars{~max3~0=v_~max3~0_4} AuxVars[] AssignedVars[~max3~0] 178#[L41-3]true [390] L41-3-->L41-4: Formula: (= v_~M~0_4 0) InVars {} OutVars{~M~0=v_~M~0_4} AuxVars[] AssignedVars[~M~0] 180#[L41-4]true [391] L41-4-->L-1-1: Formula: (= v_~N~0_5 0) InVars {} OutVars{~N~0=v_~N~0_5} AuxVars[] AssignedVars[~N~0] 182#[L-1-1]true [407] L-1-1-->L-1-2: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res#1=|v_ULTIMATE.start_main_#res#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res#1] 184#[L-1-2]true [409] L-1-2-->L82: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre13#1=|v_ULTIMATE.start_main_#t~pre13#1_1|, ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_1|, ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_1|, ULTIMATE.start_main_~#t3~0#1.offset=|v_ULTIMATE.start_main_~#t3~0#1.offset_1|, ULTIMATE.start_main_~#t3~0#1.base=|v_ULTIMATE.start_main_~#t3~0#1.base_1|, ULTIMATE.start_main_#t~pre15#1=|v_ULTIMATE.start_main_#t~pre15#1_1|, ULTIMATE.start_main_#t~nondet18#1=|v_ULTIMATE.start_main_#t~nondet18#1_1|, ULTIMATE.start_main_~#t1~0#1.base=|v_ULTIMATE.start_main_~#t1~0#1.base_1|, ULTIMATE.start_main_#t~pre17#1=|v_ULTIMATE.start_main_#t~pre17#1_1|, ULTIMATE.start_main_#t~mem21#1=|v_ULTIMATE.start_main_#t~mem21#1_1|, ULTIMATE.start_main_~#t1~0#1.offset=|v_ULTIMATE.start_main_~#t1~0#1.offset_1|, ULTIMATE.start_main_#t~nondet14#1=|v_ULTIMATE.start_main_#t~nondet14#1_1|, ULTIMATE.start_main_#t~mem19#1=|v_ULTIMATE.start_main_#t~mem19#1_1|, ULTIMATE.start_main_#t~mem20#1=|v_ULTIMATE.start_main_#t~mem20#1_1|, ULTIMATE.start_main_#t~nondet16#1=|v_ULTIMATE.start_main_#t~nondet16#1_1|, ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_1|, ULTIMATE.start_main_#t~ret12#1.offset=|v_ULTIMATE.start_main_#t~ret12#1.offset_1|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_1|, ULTIMATE.start_main_#t~ret12#1.base=|v_ULTIMATE.start_main_#t~ret12#1.base_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre13#1, ULTIMATE.start_main_#t~nondet10#1, ULTIMATE.start_main_~#t2~0#1.offset, ULTIMATE.start_main_~#t3~0#1.offset, ULTIMATE.start_main_~#t3~0#1.base, ULTIMATE.start_main_#t~pre15#1, ULTIMATE.start_main_#t~nondet18#1, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_#t~pre17#1, ULTIMATE.start_main_#t~mem21#1, ULTIMATE.start_main_~#t1~0#1.offset, ULTIMATE.start_main_#t~nondet14#1, ULTIMATE.start_main_#t~mem19#1, ULTIMATE.start_main_#t~mem20#1, ULTIMATE.start_main_#t~nondet16#1, ULTIMATE.start_main_#t~nondet11#1, ULTIMATE.start_main_#t~ret12#1.offset, ULTIMATE.start_main_~#t2~0#1.base, ULTIMATE.start_main_#t~ret12#1.base] 186#[L82]true [360] L82-->L82-1: Formula: (and (= (store |v_#valid_11| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 1) |v_#valid_10|) (= |v_ULTIMATE.start_main_~#t1~0#1.offset_2| 0) (< |v_#StackHeapBarrier_2| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) (not (= |v_ULTIMATE.start_main_~#t1~0#1.base_2| 0)) (= (store |v_#length_10| |v_ULTIMATE.start_main_~#t1~0#1.base_2| 4) |v_#length_9|) (= (select |v_#valid_11| |v_ULTIMATE.start_main_~#t1~0#1.base_2|) 0)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_10|, #valid=|v_#valid_11|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_2|, #length=|v_#length_9|, 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_10|} AuxVars[] AssignedVars[#valid, #length, ULTIMATE.start_main_~#t1~0#1.base, ULTIMATE.start_main_~#t1~0#1.offset] 188#[L82-1]true [269] L82-1-->L82-2: Formula: (and (= (select |v_#valid_13| |v_ULTIMATE.start_main_~#t2~0#1.base_2|) 0) (= (store |v_#valid_13| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 1) |v_#valid_12|) (= (store |v_#length_12| |v_ULTIMATE.start_main_~#t2~0#1.base_2| 4) |v_#length_11|) (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_12|, #valid=|v_#valid_13|} OutVars{#StackHeapBarrier=|v_#StackHeapBarrier_3|, #length=|v_#length_11|, 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_12|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t2~0#1.offset, #valid, #length, ULTIMATE.start_main_~#t2~0#1.base] 190#[L82-2]true [411] L82-2-->L82-3: Formula: (and (= |v_ULTIMATE.start_main_~#t3~0#1.offset_2| 0) (not (= |v_ULTIMATE.start_main_~#t3~0#1.base_2| 0)) (= |v_#valid_14| (store |v_#valid_15| |v_ULTIMATE.start_main_~#t3~0#1.base_2| 1)) (= (select |v_#valid_15| |v_ULTIMATE.start_main_~#t3~0#1.base_2|) 0) (= (store |v_#length_14| |v_ULTIMATE.start_main_~#t3~0#1.base_2| 4) |v_#length_13|) (< |v_#StackHeapBarrier_4| |v_ULTIMATE.start_main_~#t3~0#1.base_2|)) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_4|, #length=|v_#length_14|, #valid=|v_#valid_15|} OutVars{ULTIMATE.start_main_~#t3~0#1.base=|v_ULTIMATE.start_main_~#t3~0#1.base_2|, #StackHeapBarrier=|v_#StackHeapBarrier_4|, #length=|v_#length_13|, ULTIMATE.start_main_~#t3~0#1.offset=|v_ULTIMATE.start_main_~#t3~0#1.offset_2|, #valid=|v_#valid_14|} AuxVars[] AssignedVars[ULTIMATE.start_main_~#t3~0#1.offset, #valid, ULTIMATE.start_main_~#t3~0#1.base, #length] 192#[L82-3]true [271] L82-3-->L85: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet10#1] 194#[L85]true [299] L85-->L85-1: Formula: (= |v_ULTIMATE.start_main_#t~nondet10#1_3| v_~M~0_5) InVars {ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_3|} OutVars{~M~0=v_~M~0_5, ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_3|} AuxVars[] AssignedVars[~M~0] 196#[L85-1]true [320] L85-1-->L86: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet10#1=|v_ULTIMATE.start_main_#t~nondet10#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet10#1] 198#[L86]true [263] L86-->L86-1: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet11#1] 200#[L86-1]true [344] L86-1-->L86-2: Formula: (= |v_ULTIMATE.start_main_#t~nondet11#1_3| v_~N~0_6) InVars {ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_3|} OutVars{ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_3|, ~N~0=v_~N~0_6} AuxVars[] AssignedVars[~N~0] 202#[L86-2]true [415] L86-2-->L87: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet11#1=|v_ULTIMATE.start_main_#t~nondet11#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet11#1] 204#[L87]true [322] L87-->L87-1: Formula: (= |v_ULTIMATE.start_create_fresh_int_array_#in~size#1_1| v_~N~0_7) InVars {~N~0=v_~N~0_7} OutVars{ULTIMATE.start_create_fresh_int_array_#in~size#1=|v_ULTIMATE.start_create_fresh_int_array_#in~size#1_1|, ~N~0=v_~N~0_7} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_#in~size#1] 206#[L87-1]true [268] L87-1-->L87-2: Formula: true InVars {} OutVars{ULTIMATE.start_create_fresh_int_array_#res#1.base=|v_ULTIMATE.start_create_fresh_int_array_#res#1.base_1|, ULTIMATE.start_create_fresh_int_array_#res#1.offset=|v_ULTIMATE.start_create_fresh_int_array_#res#1.offset_1|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_#res#1.offset, ULTIMATE.start_create_fresh_int_array_#res#1.base] 208#[L87-2]true [265] L87-2-->L105: Formula: true InVars {} OutVars{ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset=|v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset_1|, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset=|v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset_1|, ULTIMATE.start_create_fresh_int_array_~arr~0#1.base=|v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.base_1|, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base=|v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base_1|, ULTIMATE.start_create_fresh_int_array_~i~3#1=|v_ULTIMATE.start_create_fresh_int_array_~i~3#1_1|, ULTIMATE.start_create_fresh_int_array_#t~nondet24#1=|v_ULTIMATE.start_create_fresh_int_array_#t~nondet24#1_1|, ULTIMATE.start_create_fresh_int_array_~size#1=|v_ULTIMATE.start_create_fresh_int_array_~size#1_1|, ULTIMATE.start_create_fresh_int_array_#t~post23#1=|v_ULTIMATE.start_create_fresh_int_array_#t~post23#1_1|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset, ULTIMATE.start_create_fresh_int_array_~arr~0#1.base, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base, ULTIMATE.start_create_fresh_int_array_~i~3#1, ULTIMATE.start_create_fresh_int_array_#t~nondet24#1, ULTIMATE.start_create_fresh_int_array_~size#1, ULTIMATE.start_create_fresh_int_array_#t~post23#1] 210#[L105]true [273] L105-->L106: Formula: (= |v_ULTIMATE.start_create_fresh_int_array_~size#1_2| |v_ULTIMATE.start_create_fresh_int_array_#in~size#1_2|) InVars {ULTIMATE.start_create_fresh_int_array_#in~size#1=|v_ULTIMATE.start_create_fresh_int_array_#in~size#1_2|} OutVars{ULTIMATE.start_create_fresh_int_array_#in~size#1=|v_ULTIMATE.start_create_fresh_int_array_#in~size#1_2|, ULTIMATE.start_create_fresh_int_array_~size#1=|v_ULTIMATE.start_create_fresh_int_array_~size#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_~size#1] 212#[L106]true [393] L106-->L106-1: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_1| (ite (<= 0 |v_ULTIMATE.start_create_fresh_int_array_~size#1_3|) 1 0)) InVars {ULTIMATE.start_create_fresh_int_array_~size#1=|v_ULTIMATE.start_create_fresh_int_array_~size#1_3|} OutVars{ULTIMATE.start_create_fresh_int_array_~size#1=|v_ULTIMATE.start_create_fresh_int_array_~size#1_3|, 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] 214#[L106-1]true [383] L106-1-->L36: 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] 216#[L36]true [404] L36-->L37: 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] 218#[L37]true [325] L37-->L36-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[] 220#[L36-1]true [389] L36-1-->L106-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] 222#[L106-2]true [319] L106-2-->L107: Formula: true InVars {} OutVars{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] 224#[L107]true [405] L107-->L107-1: Formula: (= (ite (<= (mod |v_ULTIMATE.start_create_fresh_int_array_~size#1_4| 4294967296) 1073741823) 1 0) |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_4|) InVars {ULTIMATE.start_create_fresh_int_array_~size#1=|v_ULTIMATE.start_create_fresh_int_array_~size#1_4|} OutVars{ULTIMATE.start_create_fresh_int_array_~size#1=|v_ULTIMATE.start_create_fresh_int_array_~size#1_4|, 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_#in~cond#1] 226#[L107-1]true [398] L107-1-->L36-2: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] 228#[L36-2]true [377] L36-2-->L37-3: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_5| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_7|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_5|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_7|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_5|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] 230#[L37-3]true [294] L37-3-->L36-3: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_9| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_9|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_9|} AuxVars[] AssignedVars[] 232#[L36-3]true [342] L36-3-->L107-2: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_10|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] 234#[L107-2]true [335] L107-2-->L109: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_6|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] 236#[L109]true [380] L109-->L109-1: Formula: (and (= |v_#valid_16| (store |v_#valid_17| |v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base_2| 1)) (= (select |v_#valid_17| |v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base_2|) 0) (= |v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset_2| 0) (= |v_#length_15| (store |v_#length_16| |v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base_2| (* 4 (mod |v_ULTIMATE.start_create_fresh_int_array_~size#1_5| 1073741824)))) (< |v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base_2| |v_#StackHeapBarrier_5|) (not (= |v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base_2| 0))) InVars {#StackHeapBarrier=|v_#StackHeapBarrier_5|, #length=|v_#length_16|, ULTIMATE.start_create_fresh_int_array_~size#1=|v_ULTIMATE.start_create_fresh_int_array_~size#1_5|, #valid=|v_#valid_17|} OutVars{ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset=|v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset_2|, #StackHeapBarrier=|v_#StackHeapBarrier_5|, #valid=|v_#valid_16|, #length=|v_#length_15|, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base=|v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base_2|, ULTIMATE.start_create_fresh_int_array_~size#1=|v_ULTIMATE.start_create_fresh_int_array_~size#1_5|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset, #valid, #length, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base] 238#[L109-1]true [399] L109-1-->L109-2: Formula: (and (= |v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base_3| |v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.base_2|) (= |v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset_2| |v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset_3|)) InVars {ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base=|v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base_3|, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset=|v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset_3|} OutVars{ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset=|v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset_2|, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset=|v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset_3|, ULTIMATE.start_create_fresh_int_array_~arr~0#1.base=|v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.base_2|, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base=|v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base_3|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset, ULTIMATE.start_create_fresh_int_array_~arr~0#1.base] 240#[L109-2]true [406] L109-2-->L110: Formula: true InVars {} OutVars{ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base=|v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base_4|, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset=|v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset_4|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base] 242#[L110]true [339] L110-->L110-6: Formula: (= |v_ULTIMATE.start_create_fresh_int_array_~i~3#1_2| 0) InVars {} OutVars{ULTIMATE.start_create_fresh_int_array_~i~3#1=|v_ULTIMATE.start_create_fresh_int_array_~i~3#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_~i~3#1] 244#[L110-6]true [279] L110-6-->L111: Formula: (< |v_ULTIMATE.start_create_fresh_int_array_~i~3#1_4| |v_ULTIMATE.start_create_fresh_int_array_~size#1_7|) InVars {ULTIMATE.start_create_fresh_int_array_~i~3#1=|v_ULTIMATE.start_create_fresh_int_array_~i~3#1_4|, ULTIMATE.start_create_fresh_int_array_~size#1=|v_ULTIMATE.start_create_fresh_int_array_~size#1_7|} OutVars{ULTIMATE.start_create_fresh_int_array_~i~3#1=|v_ULTIMATE.start_create_fresh_int_array_~i~3#1_4|, ULTIMATE.start_create_fresh_int_array_~size#1=|v_ULTIMATE.start_create_fresh_int_array_~size#1_7|} AuxVars[] AssignedVars[] 247#[L111]true [275] L111-->L111-1: Formula: true InVars {} OutVars{ULTIMATE.start_create_fresh_int_array_#t~nondet24#1=|v_ULTIMATE.start_create_fresh_int_array_#t~nondet24#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_#t~nondet24#1] 249#[L111-1]true [384] L111-1-->L111-2: Formula: (let ((.cse1 (* 4 |v_ULTIMATE.start_create_fresh_int_array_~i~3#1_5|))) (let ((.cse0 (+ |v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset_3| .cse1))) (and (= (store |v_#memory_int_10| |v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.base_3| (store (select |v_#memory_int_10| |v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.base_3|) .cse0 |v_ULTIMATE.start_create_fresh_int_array_#t~nondet24#1_3|)) |v_#memory_int_9|) (<= (+ |v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset_3| .cse1 4) (select |v_#length_17| |v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.base_3|)) (<= 0 .cse0) (= (select |v_#valid_18| |v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.base_3|) 1)))) InVars {ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset=|v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset_3|, ULTIMATE.start_create_fresh_int_array_~arr~0#1.base=|v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.base_3|, #valid=|v_#valid_18|, #memory_int=|v_#memory_int_10|, #length=|v_#length_17|, ULTIMATE.start_create_fresh_int_array_~i~3#1=|v_ULTIMATE.start_create_fresh_int_array_~i~3#1_5|, ULTIMATE.start_create_fresh_int_array_#t~nondet24#1=|v_ULTIMATE.start_create_fresh_int_array_#t~nondet24#1_3|} OutVars{ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset=|v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset_3|, ULTIMATE.start_create_fresh_int_array_~arr~0#1.base=|v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.base_3|, #valid=|v_#valid_18|, #memory_int=|v_#memory_int_9|, #length=|v_#length_17|, ULTIMATE.start_create_fresh_int_array_~i~3#1=|v_ULTIMATE.start_create_fresh_int_array_~i~3#1_5|, ULTIMATE.start_create_fresh_int_array_#t~nondet24#1=|v_ULTIMATE.start_create_fresh_int_array_#t~nondet24#1_3|} AuxVars[] AssignedVars[#memory_int] 251#[L111-2]true [365] L111-2-->L110-3: Formula: true InVars {} OutVars{ULTIMATE.start_create_fresh_int_array_#t~nondet24#1=|v_ULTIMATE.start_create_fresh_int_array_#t~nondet24#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_#t~nondet24#1] 253#[L110-3]true [348] L110-3-->L110-4: Formula: (= |v_ULTIMATE.start_create_fresh_int_array_#t~post23#1_2| |v_ULTIMATE.start_create_fresh_int_array_~i~3#1_6|) InVars {ULTIMATE.start_create_fresh_int_array_~i~3#1=|v_ULTIMATE.start_create_fresh_int_array_~i~3#1_6|} OutVars{ULTIMATE.start_create_fresh_int_array_~i~3#1=|v_ULTIMATE.start_create_fresh_int_array_~i~3#1_6|, ULTIMATE.start_create_fresh_int_array_#t~post23#1=|v_ULTIMATE.start_create_fresh_int_array_#t~post23#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_#t~post23#1] 255#[L110-4]true [284] L110-4-->L110-5: Formula: (= (+ |v_ULTIMATE.start_create_fresh_int_array_#t~post23#1_3| 1) |v_ULTIMATE.start_create_fresh_int_array_~i~3#1_7|) InVars {ULTIMATE.start_create_fresh_int_array_#t~post23#1=|v_ULTIMATE.start_create_fresh_int_array_#t~post23#1_3|} OutVars{ULTIMATE.start_create_fresh_int_array_~i~3#1=|v_ULTIMATE.start_create_fresh_int_array_~i~3#1_7|, ULTIMATE.start_create_fresh_int_array_#t~post23#1=|v_ULTIMATE.start_create_fresh_int_array_#t~post23#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_~i~3#1] 257#[L110-5]true [276] L110-5-->L110-6: Formula: true InVars {} OutVars{ULTIMATE.start_create_fresh_int_array_#t~post23#1=|v_ULTIMATE.start_create_fresh_int_array_#t~post23#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_#t~post23#1] 244#[L110-6]true [280] L110-6-->L110-7: Formula: (<= |v_ULTIMATE.start_create_fresh_int_array_~size#1_6| |v_ULTIMATE.start_create_fresh_int_array_~i~3#1_3|) InVars {ULTIMATE.start_create_fresh_int_array_~i~3#1=|v_ULTIMATE.start_create_fresh_int_array_~i~3#1_3|, ULTIMATE.start_create_fresh_int_array_~size#1=|v_ULTIMATE.start_create_fresh_int_array_~size#1_6|} OutVars{ULTIMATE.start_create_fresh_int_array_~i~3#1=|v_ULTIMATE.start_create_fresh_int_array_~i~3#1_3|, ULTIMATE.start_create_fresh_int_array_~size#1=|v_ULTIMATE.start_create_fresh_int_array_~size#1_6|} AuxVars[] AssignedVars[] 633#[L110-7]true [321] L110-7-->L113: Formula: true InVars {} OutVars{ULTIMATE.start_create_fresh_int_array_~i~3#1=|v_ULTIMATE.start_create_fresh_int_array_~i~3#1_8|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_~i~3#1] 635#[L113]true [385] L113-->create_fresh_int_array_returnLabel#1: Formula: (and (= |v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.base_4| |v_ULTIMATE.start_create_fresh_int_array_#res#1.base_2|) (= |v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset_4| |v_ULTIMATE.start_create_fresh_int_array_#res#1.offset_2|)) InVars {ULTIMATE.start_create_fresh_int_array_~arr~0#1.base=|v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.base_4|, ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset=|v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset_4|} OutVars{ULTIMATE.start_create_fresh_int_array_#res#1.offset=|v_ULTIMATE.start_create_fresh_int_array_#res#1.offset_2|, ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset=|v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset_4|, ULTIMATE.start_create_fresh_int_array_~arr~0#1.base=|v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.base_4|, ULTIMATE.start_create_fresh_int_array_#res#1.base=|v_ULTIMATE.start_create_fresh_int_array_#res#1.base_2|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_#res#1.offset, ULTIMATE.start_create_fresh_int_array_#res#1.base] 637#[create_fresh_int_array_returnLabel#1]true [388] create_fresh_int_array_returnLabel#1-->L87-3: Formula: (and (= |v_ULTIMATE.start_main_#t~ret12#1.offset_2| |v_ULTIMATE.start_create_fresh_int_array_#res#1.offset_3|) (= |v_ULTIMATE.start_main_#t~ret12#1.base_2| |v_ULTIMATE.start_create_fresh_int_array_#res#1.base_3|)) InVars {ULTIMATE.start_create_fresh_int_array_#res#1.base=|v_ULTIMATE.start_create_fresh_int_array_#res#1.base_3|, ULTIMATE.start_create_fresh_int_array_#res#1.offset=|v_ULTIMATE.start_create_fresh_int_array_#res#1.offset_3|} OutVars{ULTIMATE.start_create_fresh_int_array_#res#1.offset=|v_ULTIMATE.start_create_fresh_int_array_#res#1.offset_3|, ULTIMATE.start_create_fresh_int_array_#res#1.base=|v_ULTIMATE.start_create_fresh_int_array_#res#1.base_3|, ULTIMATE.start_main_#t~ret12#1.offset=|v_ULTIMATE.start_main_#t~ret12#1.offset_2|, ULTIMATE.start_main_#t~ret12#1.base=|v_ULTIMATE.start_main_#t~ret12#1.base_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~ret12#1.offset, ULTIMATE.start_main_#t~ret12#1.base] 639#[L87-3]true [277] L87-3-->L87-4: Formula: true InVars {} OutVars{ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset=|v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset_5|, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset=|v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset_5|, ULTIMATE.start_create_fresh_int_array_~arr~0#1.base=|v_ULTIMATE.start_create_fresh_int_array_~arr~0#1.base_5|, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base=|v_ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base_5|, ULTIMATE.start_create_fresh_int_array_~i~3#1=|v_ULTIMATE.start_create_fresh_int_array_~i~3#1_9|, ULTIMATE.start_create_fresh_int_array_#t~nondet24#1=|v_ULTIMATE.start_create_fresh_int_array_#t~nondet24#1_5|, ULTIMATE.start_create_fresh_int_array_~size#1=|v_ULTIMATE.start_create_fresh_int_array_~size#1_8|, ULTIMATE.start_create_fresh_int_array_#t~post23#1=|v_ULTIMATE.start_create_fresh_int_array_#t~post23#1_5|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_~arr~0#1.offset, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.offset, ULTIMATE.start_create_fresh_int_array_~arr~0#1.base, ULTIMATE.start_create_fresh_int_array_#t~malloc22#1.base, ULTIMATE.start_create_fresh_int_array_~i~3#1, ULTIMATE.start_create_fresh_int_array_#t~nondet24#1, ULTIMATE.start_create_fresh_int_array_~size#1, ULTIMATE.start_create_fresh_int_array_#t~post23#1] 641#[L87-4]true [295] L87-4-->L87-5: Formula: true InVars {} OutVars{ULTIMATE.start_create_fresh_int_array_#in~size#1=|v_ULTIMATE.start_create_fresh_int_array_#in~size#1_3|} AuxVars[] AssignedVars[ULTIMATE.start_create_fresh_int_array_#in~size#1] 643#[L87-5]true [332] L87-5-->L87-6: Formula: (and (= |v_ULTIMATE.start_main_#t~ret12#1.offset_3| v_~A~0.offset_8) (= v_~A~0.base_8 |v_ULTIMATE.start_main_#t~ret12#1.base_3|)) InVars {ULTIMATE.start_main_#t~ret12#1.offset=|v_ULTIMATE.start_main_#t~ret12#1.offset_3|, ULTIMATE.start_main_#t~ret12#1.base=|v_ULTIMATE.start_main_#t~ret12#1.base_3|} OutVars{~A~0.base=v_~A~0.base_8, ~A~0.offset=v_~A~0.offset_8, ULTIMATE.start_main_#t~ret12#1.offset=|v_ULTIMATE.start_main_#t~ret12#1.offset_3|, ULTIMATE.start_main_#t~ret12#1.base=|v_ULTIMATE.start_main_#t~ret12#1.base_3|} AuxVars[] AssignedVars[~A~0.base, ~A~0.offset] 645#[L87-6]true [274] L87-6-->L89: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~ret12#1.offset=|v_ULTIMATE.start_main_#t~ret12#1.offset_4|, ULTIMATE.start_main_#t~ret12#1.base=|v_ULTIMATE.start_main_#t~ret12#1.base_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~ret12#1.offset, ULTIMATE.start_main_#t~ret12#1.base] 647#[L89]true [341] L89-->L89-1: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_7| (ite (and (< v_~M~0_6 v_~N~0_8) (<= 0 v_~M~0_6)) 1 0)) InVars {~M~0=v_~M~0_6, ~N~0=v_~N~0_8} OutVars{~N~0=v_~N~0_8, ~M~0=v_~M~0_6, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_7|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] 649#[L89-1]true [317] L89-1-->L36-4: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_11|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] 651#[L36-4]true [286] L36-4-->L37-6: Formula: (= |v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_8| |v_ULTIMATE.start_assume_abort_if_not_~cond#1_12|) InVars {ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_8|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_12|, ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_8|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] 653#[L37-6]true [338] L37-6-->L36-5: Formula: (not (= |v_ULTIMATE.start_assume_abort_if_not_~cond#1_14| 0)) InVars {ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_14|} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_14|} AuxVars[] AssignedVars[] 657#[L36-5]true [312] L36-5-->L89-2: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_~cond#1=|v_ULTIMATE.start_assume_abort_if_not_~cond#1_15|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_~cond#1] 659#[L89-2]true [353] L89-2-->L92: Formula: true InVars {} OutVars{ULTIMATE.start_assume_abort_if_not_#in~cond#1=|v_ULTIMATE.start_assume_abort_if_not_#in~cond#1_9|} AuxVars[] AssignedVars[ULTIMATE.start_assume_abort_if_not_#in~cond#1] 661#[L92]true [381] L92-->L92-1: Formula: (= |v_ULTIMATE.start_main_#t~pre13#1_2| |v_#pthreadsForks_1|) InVars {#pthreadsForks=|v_#pthreadsForks_1|} OutVars{#pthreadsForks=|v_#pthreadsForks_1|, ULTIMATE.start_main_#t~pre13#1=|v_ULTIMATE.start_main_#t~pre13#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre13#1] 663#[L92-1]true [370] L92-1-->L92-2: Formula: (= (+ 1 |v_#pthreadsForks_3|) |v_#pthreadsForks_2|) InVars {#pthreadsForks=|v_#pthreadsForks_3|} OutVars{#pthreadsForks=|v_#pthreadsForks_2|} AuxVars[] AssignedVars[#pthreadsForks] 665#[L92-2]true [329] L92-2-->L92-3: Formula: (and (= (select |v_#valid_19| |v_ULTIMATE.start_main_~#t1~0#1.base_3|) 1) (= |v_#memory_int_11| (store |v_#memory_int_12| |v_ULTIMATE.start_main_~#t1~0#1.base_3| (store (select |v_#memory_int_12| |v_ULTIMATE.start_main_~#t1~0#1.base_3|) |v_ULTIMATE.start_main_~#t1~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre13#1_3|))) (<= 0 |v_ULTIMATE.start_main_~#t1~0#1.offset_3|) (<= (+ |v_ULTIMATE.start_main_~#t1~0#1.offset_3| 4) (select |v_#length_18| |v_ULTIMATE.start_main_~#t1~0#1.base_3|))) InVars {ULTIMATE.start_main_#t~pre13#1=|v_ULTIMATE.start_main_#t~pre13#1_3|, #valid=|v_#valid_19|, #memory_int=|v_#memory_int_12|, #length=|v_#length_18|, 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~pre13#1=|v_ULTIMATE.start_main_#t~pre13#1_3|, #valid=|v_#valid_19|, #memory_int=|v_#memory_int_11|, #length=|v_#length_18|, 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] 667#[L92-3]true [457] L92-3-->$Ultimate##0: Formula: (and (= |v_ULTIMATE.start_main_#t~pre13#1_7| v_thread1Thread1of1ForFork2_thidvar0_2) (= 0 v_thread1Thread1of1ForFork2_thidvar1_2)) InVars {ULTIMATE.start_main_#t~pre13#1=|v_ULTIMATE.start_main_#t~pre13#1_7|} OutVars{thread1Thread1of1ForFork2_thidvar1=v_thread1Thread1of1ForFork2_thidvar1_2, thread1Thread1of1ForFork2_thidvar0=v_thread1Thread1of1ForFork2_thidvar0_2, thread1Thread1of1ForFork2_#res.base=|v_thread1Thread1of1ForFork2_#res.base_4|, ULTIMATE.start_main_#t~pre13#1=|v_ULTIMATE.start_main_#t~pre13#1_7|, thread1Thread1of1ForFork2_#t~mem2=|v_thread1Thread1of1ForFork2_#t~mem2_4|, thread1Thread1of1ForFork2_#t~mem3=|v_thread1Thread1of1ForFork2_#t~mem3_6|, thread1Thread1of1ForFork2_~i~0=v_thread1Thread1of1ForFork2_~i~0_16, thread1Thread1of1ForFork2_#t~post1=|v_thread1Thread1of1ForFork2_#t~post1_8|, thread1Thread1of1ForFork2_#res.offset=|v_thread1Thread1of1ForFork2_#res.offset_4|} AuxVars[] AssignedVars[thread1Thread1of1ForFork2_thidvar1, thread1Thread1of1ForFork2_thidvar0, thread1Thread1of1ForFork2_#res.base, thread1Thread1of1ForFork2_#t~mem2, thread1Thread1of1ForFork2_#t~mem3, thread1Thread1of1ForFork2_~i~0, thread1Thread1of1ForFork2_#t~post1, thread1Thread1of1ForFork2_#res.offset] 669#[L92-4, $Ultimate##0]true [350] L92-4-->L92-5: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~pre13#1=|v_ULTIMATE.start_main_#t~pre13#1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre13#1] 3251#[L92-5, $Ultimate##0]true [366] L92-5-->L93: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet14#1=|v_ULTIMATE.start_main_#t~nondet14#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet14#1] 3253#[L93, $Ultimate##0]true [297] L93-->L93-1: Formula: (= |v_ULTIMATE.start_main_#t~pre15#1_2| |v_#pthreadsForks_4|) InVars {#pthreadsForks=|v_#pthreadsForks_4|} OutVars{#pthreadsForks=|v_#pthreadsForks_4|, ULTIMATE.start_main_#t~pre15#1=|v_ULTIMATE.start_main_#t~pre15#1_2|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~pre15#1] 3255#[L93-1, $Ultimate##0]true [386] L93-1-->L93-2: Formula: (= (+ 1 |v_#pthreadsForks_6|) |v_#pthreadsForks_5|) InVars {#pthreadsForks=|v_#pthreadsForks_6|} OutVars{#pthreadsForks=|v_#pthreadsForks_5|} AuxVars[] AssignedVars[#pthreadsForks] 3257#[L93-2, $Ultimate##0]true [367] L93-2-->L93-3: Formula: (and (<= 0 |v_ULTIMATE.start_main_~#t2~0#1.offset_3|) (= (select |v_#valid_20| |v_ULTIMATE.start_main_~#t2~0#1.base_3|) 1) (<= (+ 4 |v_ULTIMATE.start_main_~#t2~0#1.offset_3|) (select |v_#length_19| |v_ULTIMATE.start_main_~#t2~0#1.base_3|)) (= |v_#memory_int_13| (store |v_#memory_int_14| |v_ULTIMATE.start_main_~#t2~0#1.base_3| (store (select |v_#memory_int_14| |v_ULTIMATE.start_main_~#t2~0#1.base_3|) |v_ULTIMATE.start_main_~#t2~0#1.offset_3| |v_ULTIMATE.start_main_#t~pre15#1_3|)))) InVars {ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, #valid=|v_#valid_20|, #memory_int=|v_#memory_int_14|, #length=|v_#length_19|, ULTIMATE.start_main_#t~pre15#1=|v_ULTIMATE.start_main_#t~pre15#1_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} OutVars{ULTIMATE.start_main_~#t2~0#1.offset=|v_ULTIMATE.start_main_~#t2~0#1.offset_3|, #valid=|v_#valid_20|, #memory_int=|v_#memory_int_13|, #length=|v_#length_19|, ULTIMATE.start_main_#t~pre15#1=|v_ULTIMATE.start_main_#t~pre15#1_3|, ULTIMATE.start_main_~#t2~0#1.base=|v_ULTIMATE.start_main_~#t2~0#1.base_3|} AuxVars[] AssignedVars[#memory_int] 3259#[L93-3, $Ultimate##0]true [451] L93-3-->$Ultimate##0: Formula: (and (= v_thread2Thread1of1ForFork0_thidvar0_2 |v_ULTIMATE.start_main_#t~pre15#1_7|) (= v_thread2Thread1of1ForFork0_thidvar2_2 0) (= v_thread2Thread1of1ForFork0_thidvar1_2 0)) InVars {ULTIMATE.start_main_#t~pre15#1=|v_ULTIMATE.start_main_#t~pre15#1_7|} OutVars{thread2Thread1of1ForFork0_#res.offset=|v_thread2Thread1of1ForFork0_#res.offset_4|, thread2Thread1of1ForFork0_~i~1=v_thread2Thread1of1ForFork0_~i~1_16, thread2Thread1of1ForFork0_#t~mem6=|v_thread2Thread1of1ForFork0_#t~mem6_6|, thread2Thread1of1ForFork0_#t~post4=|v_thread2Thread1of1ForFork0_#t~post4_8|, thread2Thread1of1ForFork0_#res.base=|v_thread2Thread1of1ForFork0_#res.base_4|, thread2Thread1of1ForFork0_thidvar2=v_thread2Thread1of1ForFork0_thidvar2_2, thread2Thread1of1ForFork0_thidvar1=v_thread2Thread1of1ForFork0_thidvar1_2, thread2Thread1of1ForFork0_thidvar0=v_thread2Thread1of1ForFork0_thidvar0_2, ULTIMATE.start_main_#t~pre15#1=|v_ULTIMATE.start_main_#t~pre15#1_7|, thread2Thread1of1ForFork0_#t~mem5=|v_thread2Thread1of1ForFork0_#t~mem5_4|} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_#res.offset, thread2Thread1of1ForFork0_~i~1, thread2Thread1of1ForFork0_#t~mem6, thread2Thread1of1ForFork0_#t~post4, thread2Thread1of1ForFork0_#res.base, thread2Thread1of1ForFork0_thidvar2, thread2Thread1of1ForFork0_thidvar1, thread2Thread1of1ForFork0_thidvar0, thread2Thread1of1ForFork0_#t~mem5] 3261#[L93-4, $Ultimate##0, $Ultimate##0]true [427] $Ultimate##0-->L58-4: Formula: (= v_thread2Thread1of1ForFork0_~i~1_1 0) InVars {} OutVars{thread2Thread1of1ForFork0_~i~1=v_thread2Thread1of1ForFork0_~i~1_1} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_~i~1] 3263#[L93-4, L58-4, $Ultimate##0]true [2024-02-09 23:41:11,831 INFO L750 eck$LassoCheckResult]: Loop: 3263#[L93-4, L58-4, $Ultimate##0]true [428] L58-4-->L59: Formula: (< v_thread2Thread1of1ForFork0_~i~1_3 v_~M~0_2) InVars {thread2Thread1of1ForFork0_~i~1=v_thread2Thread1of1ForFork0_~i~1_3, ~M~0=v_~M~0_2} OutVars{thread2Thread1of1ForFork0_~i~1=v_thread2Thread1of1ForFork0_~i~1_3, ~M~0=v_~M~0_2} AuxVars[] AssignedVars[] 3266#[L59, L93-4, $Ultimate##0]true [431] L59-->L60-4: Formula: (let ((.cse5 (* v_thread2Thread1of1ForFork0_~i~1_7 4))) (let ((.cse4 (+ .cse5 v_~A~0.offset_31))) (let ((.cse1 (= (select |v_#valid_53| v_~A~0.base_31) 1)) (.cse2 (<= 0 .cse4)) (.cse3 (<= (+ .cse5 v_~A~0.offset_31 4) (select |v_#length_46| v_~A~0.base_31)))) (and (let ((.cse0 (select (select |v_#memory_int_42| v_~A~0.base_31) .cse4))) (or (and (= v_~max2~0_16 v_~max2~0_17) (<= .cse0 v_~max2~0_17) (= |v_thread2Thread1of1ForFork0_#t~mem6_2| |v_thread2Thread1of1ForFork0_#t~mem6_1|)) (and .cse1 (= v_~max2~0_16 .cse0) .cse2 .cse3 (< v_~max2~0_17 .cse0)))) .cse1 .cse2 .cse3)))) InVars {thread2Thread1of1ForFork0_~i~1=v_thread2Thread1of1ForFork0_~i~1_7, ~A~0.base=v_~A~0.base_31, thread2Thread1of1ForFork0_#t~mem6=|v_thread2Thread1of1ForFork0_#t~mem6_1|, ~A~0.offset=v_~A~0.offset_31, ~max2~0=v_~max2~0_17, #valid=|v_#valid_53|, #memory_int=|v_#memory_int_42|, #length=|v_#length_46|} OutVars{thread2Thread1of1ForFork0_~i~1=v_thread2Thread1of1ForFork0_~i~1_7, ~A~0.base=v_~A~0.base_31, thread2Thread1of1ForFork0_#t~mem6=|v_thread2Thread1of1ForFork0_#t~mem6_2|, ~A~0.offset=v_~A~0.offset_31, ~max2~0=v_~max2~0_16, #valid=|v_#valid_53|, #memory_int=|v_#memory_int_42|, #length=|v_#length_46|, thread2Thread1of1ForFork0_#t~mem5=|v_thread2Thread1of1ForFork0_#t~mem5_1|} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_#t~mem6, ~max2~0, thread2Thread1of1ForFork0_#t~mem5] 3268#[L93-4, L60-4, $Ultimate##0]true [433] L60-4-->L58-2: Formula: (= |v_thread2Thread1of1ForFork0_#t~post4_1| v_thread2Thread1of1ForFork0_~i~1_11) InVars {thread2Thread1of1ForFork0_~i~1=v_thread2Thread1of1ForFork0_~i~1_11} OutVars{thread2Thread1of1ForFork0_~i~1=v_thread2Thread1of1ForFork0_~i~1_11, thread2Thread1of1ForFork0_#t~post4=|v_thread2Thread1of1ForFork0_#t~post4_1|} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_#t~post4] 3270#[L93-4, $Ultimate##0, L58-2]true [435] L58-2-->L58-3: Formula: (= (+ |v_thread2Thread1of1ForFork0_#t~post4_3| 1) v_thread2Thread1of1ForFork0_~i~1_13) InVars {thread2Thread1of1ForFork0_#t~post4=|v_thread2Thread1of1ForFork0_#t~post4_3|} OutVars{thread2Thread1of1ForFork0_~i~1=v_thread2Thread1of1ForFork0_~i~1_13, thread2Thread1of1ForFork0_#t~post4=|v_thread2Thread1of1ForFork0_#t~post4_3|} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_~i~1] 3272#[L93-4, L58-3, $Ultimate##0]true [437] L58-3-->L58-4: Formula: true InVars {} OutVars{thread2Thread1of1ForFork0_#t~post4=|v_thread2Thread1of1ForFork0_#t~post4_5|} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_#t~post4] 3263#[L93-4, L58-4, $Ultimate##0]true [428] L58-4-->L59: Formula: (< v_thread2Thread1of1ForFork0_~i~1_3 v_~M~0_2) InVars {thread2Thread1of1ForFork0_~i~1=v_thread2Thread1of1ForFork0_~i~1_3, ~M~0=v_~M~0_2} OutVars{thread2Thread1of1ForFork0_~i~1=v_thread2Thread1of1ForFork0_~i~1_3, ~M~0=v_~M~0_2} AuxVars[] AssignedVars[] 3266#[L59, L93-4, $Ultimate##0]true [431] L59-->L60-4: Formula: (let ((.cse5 (* v_thread2Thread1of1ForFork0_~i~1_7 4))) (let ((.cse4 (+ .cse5 v_~A~0.offset_31))) (let ((.cse1 (= (select |v_#valid_53| v_~A~0.base_31) 1)) (.cse2 (<= 0 .cse4)) (.cse3 (<= (+ .cse5 v_~A~0.offset_31 4) (select |v_#length_46| v_~A~0.base_31)))) (and (let ((.cse0 (select (select |v_#memory_int_42| v_~A~0.base_31) .cse4))) (or (and (= v_~max2~0_16 v_~max2~0_17) (<= .cse0 v_~max2~0_17) (= |v_thread2Thread1of1ForFork0_#t~mem6_2| |v_thread2Thread1of1ForFork0_#t~mem6_1|)) (and .cse1 (= v_~max2~0_16 .cse0) .cse2 .cse3 (< v_~max2~0_17 .cse0)))) .cse1 .cse2 .cse3)))) InVars {thread2Thread1of1ForFork0_~i~1=v_thread2Thread1of1ForFork0_~i~1_7, ~A~0.base=v_~A~0.base_31, thread2Thread1of1ForFork0_#t~mem6=|v_thread2Thread1of1ForFork0_#t~mem6_1|, ~A~0.offset=v_~A~0.offset_31, ~max2~0=v_~max2~0_17, #valid=|v_#valid_53|, #memory_int=|v_#memory_int_42|, #length=|v_#length_46|} OutVars{thread2Thread1of1ForFork0_~i~1=v_thread2Thread1of1ForFork0_~i~1_7, ~A~0.base=v_~A~0.base_31, thread2Thread1of1ForFork0_#t~mem6=|v_thread2Thread1of1ForFork0_#t~mem6_2|, ~A~0.offset=v_~A~0.offset_31, ~max2~0=v_~max2~0_16, #valid=|v_#valid_53|, #memory_int=|v_#memory_int_42|, #length=|v_#length_46|, thread2Thread1of1ForFork0_#t~mem5=|v_thread2Thread1of1ForFork0_#t~mem5_1|} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_#t~mem6, ~max2~0, thread2Thread1of1ForFork0_#t~mem5] 3268#[L93-4, L60-4, $Ultimate##0]true [433] L60-4-->L58-2: Formula: (= |v_thread2Thread1of1ForFork0_#t~post4_1| v_thread2Thread1of1ForFork0_~i~1_11) InVars {thread2Thread1of1ForFork0_~i~1=v_thread2Thread1of1ForFork0_~i~1_11} OutVars{thread2Thread1of1ForFork0_~i~1=v_thread2Thread1of1ForFork0_~i~1_11, thread2Thread1of1ForFork0_#t~post4=|v_thread2Thread1of1ForFork0_#t~post4_1|} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_#t~post4] 3270#[L93-4, $Ultimate##0, L58-2]true [435] L58-2-->L58-3: Formula: (= (+ |v_thread2Thread1of1ForFork0_#t~post4_3| 1) v_thread2Thread1of1ForFork0_~i~1_13) InVars {thread2Thread1of1ForFork0_#t~post4=|v_thread2Thread1of1ForFork0_#t~post4_3|} OutVars{thread2Thread1of1ForFork0_~i~1=v_thread2Thread1of1ForFork0_~i~1_13, thread2Thread1of1ForFork0_#t~post4=|v_thread2Thread1of1ForFork0_#t~post4_3|} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_~i~1] 3272#[L93-4, L58-3, $Ultimate##0]true [437] L58-3-->L58-4: Formula: true InVars {} OutVars{thread2Thread1of1ForFork0_#t~post4=|v_thread2Thread1of1ForFork0_#t~post4_5|} AuxVars[] AssignedVars[thread2Thread1of1ForFork0_#t~post4] 3263#[L93-4, L58-4, $Ultimate##0]true [2024-02-09 23:41:11,831 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2024-02-09 23:41:11,831 INFO L85 PathProgramCache]: Analyzing trace with hash -840378256, now seen corresponding path program 1 times [2024-02-09 23:41:11,832 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-02-09 23:41:11,832 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [804725971] [2024-02-09 23:41:11,832 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-09 23:41:11,832 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-02-09 23:41:11,851 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-02-09 23:41:11,851 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-02-09 23:41:11,864 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-02-09 23:41:11,869 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-02-09 23:41:11,870 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2024-02-09 23:41:11,870 INFO L85 PathProgramCache]: Analyzing trace with hash 940038337, now seen corresponding path program 1 times [2024-02-09 23:41:11,870 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-02-09 23:41:11,870 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2096669021] [2024-02-09 23:41:11,870 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-09 23:41:11,870 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-02-09 23:41:11,873 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-02-09 23:41:11,873 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-02-09 23:41:11,875 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-02-09 23:41:11,877 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-02-09 23:41:11,877 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2024-02-09 23:41:11,877 INFO L85 PathProgramCache]: Analyzing trace with hash 1240216176, now seen corresponding path program 1 times [2024-02-09 23:41:11,877 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-02-09 23:41:11,877 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [984816245] [2024-02-09 23:41:11,877 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-09 23:41:11,877 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-02-09 23:41:11,889 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-02-09 23:41:12,278 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 3 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-02-09 23:41:12,278 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-02-09 23:41:12,278 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [984816245] [2024-02-09 23:41:12,278 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [984816245] provided 0 perfect and 1 imperfect interpolant sequences [2024-02-09 23:41:12,278 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1925086505] [2024-02-09 23:41:12,279 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-02-09 23:41:12,279 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-02-09 23:41:12,279 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-02-09 23:41:12,284 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-02-09 23:41:12,285 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Waiting until timeout for monitored process [2024-02-09 23:41:12,371 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-02-09 23:41:12,372 INFO L262 TraceCheckSpWp]: Trace formula consists of 219 conjuncts, 15 conjunts are in the unsatisfiable core [2024-02-09 23:41:12,374 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-02-09 23:41:12,659 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 5 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-02-09 23:41:12,660 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2024-02-09 23:41:13,098 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 5 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-02-09 23:41:13,098 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1925086505] provided 0 perfect and 2 imperfect interpolant sequences [2024-02-09 23:41:13,098 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-02-09 23:41:13,098 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 14, 14] total 39 [2024-02-09 23:41:13,098 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1808711944] [2024-02-09 23:41:13,098 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-02-09 23:41:13,241 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-02-09 23:41:13,242 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 39 interpolants. [2024-02-09 23:41:13,242 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=134, Invalid=1348, Unknown=0, NotChecked=0, Total=1482 Received shutdown request... [2024-02-09 23:44:38,348 WARN L340 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Timeout while monitored process is still running, waiting 1000 ms for graceful end [2024-02-09 23:44:38,348 WARN L340 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Timeout while monitored process is still running, waiting 1000 ms for graceful end [2024-02-09 23:44:38,348 WARN L340 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (1)] Timeout while monitored process is still running, waiting 1000 ms for graceful end [2024-02-09 23:44:38,459 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer CFG 09.02 11:44:38 BoogieIcfgContainer [2024-02-09 23:44:38,459 INFO L131 PluginConnector]: ------------------------ END BuchiAutomizer---------------------------- [2024-02-09 23:44:38,459 INFO L158 Benchmark]: Toolchain (without parser) took 259374.74ms. Allocated memory was 180.4MB in the beginning and 4.2GB in the end (delta: 4.0GB). Free memory was 117.5MB in the beginning and 3.4GB in the end (delta: -3.3GB). Peak memory consumption was 710.8MB. Max. memory is 8.0GB. [2024-02-09 23:44:38,460 INFO L158 Benchmark]: CDTParser took 0.10ms. Allocated memory is still 180.4MB. Free memory is still 126.8MB. There was no memory consumed. Max. memory is 8.0GB. [2024-02-09 23:44:38,460 INFO L158 Benchmark]: CACSL2BoogieTranslator took 185.02ms. Allocated memory is still 180.4MB. Free memory was 117.3MB in the beginning and 105.8MB in the end (delta: 11.5MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2024-02-09 23:44:38,460 INFO L158 Benchmark]: Boogie Procedure Inliner took 34.10ms. Allocated memory is still 180.4MB. Free memory was 105.6MB in the beginning and 103.9MB in the end (delta: 1.7MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2024-02-09 23:44:38,460 INFO L158 Benchmark]: Boogie Preprocessor took 50.54ms. Allocated memory is still 180.4MB. Free memory was 103.9MB in the beginning and 154.9MB in the end (delta: -50.9MB). Peak memory consumption was 9.6MB. Max. memory is 8.0GB. [2024-02-09 23:44:38,460 INFO L158 Benchmark]: RCFGBuilder took 413.86ms. Allocated memory is still 180.4MB. Free memory was 154.9MB in the beginning and 130.2MB in the end (delta: 24.6MB). Peak memory consumption was 25.2MB. Max. memory is 8.0GB. [2024-02-09 23:44:38,461 INFO L158 Benchmark]: BuchiAutomizer took 258687.72ms. Allocated memory was 180.4MB in the beginning and 4.2GB in the end (delta: 4.0GB). Free memory was 130.2MB in the beginning and 3.4GB in the end (delta: -3.3GB). Peak memory consumption was 722.1MB. Max. memory is 8.0GB. [2024-02-09 23:44:38,462 INFO L338 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.10ms. Allocated memory is still 180.4MB. Free memory is still 126.8MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 185.02ms. Allocated memory is still 180.4MB. Free memory was 117.3MB in the beginning and 105.8MB in the end (delta: 11.5MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * Boogie Procedure Inliner took 34.10ms. Allocated memory is still 180.4MB. Free memory was 105.6MB in the beginning and 103.9MB in the end (delta: 1.7MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * Boogie Preprocessor took 50.54ms. Allocated memory is still 180.4MB. Free memory was 103.9MB in the beginning and 154.9MB in the end (delta: -50.9MB). Peak memory consumption was 9.6MB. Max. memory is 8.0GB. * RCFGBuilder took 413.86ms. Allocated memory is still 180.4MB. Free memory was 154.9MB in the beginning and 130.2MB in the end (delta: 24.6MB). Peak memory consumption was 25.2MB. Max. memory is 8.0GB. * BuchiAutomizer took 258687.72ms. Allocated memory was 180.4MB in the beginning and 4.2GB in the end (delta: 4.0GB). Free memory was 130.2MB in the beginning and 3.4GB in the end (delta: -3.3GB). Peak memory consumption was 722.1MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: Constructed decomposition of program Decomposition not yet finished - StatisticsResult: Timing statistics BüchiAutomizer plugin needed 258.5s and 5 iterations. TraceHistogramMax:0. Analysis of lassos took 5.9s. Construction of modules took 8.7s. Büchi inclusion checks took 243.3s. Highest rank in rank-based complementation 1. Minimization of det autom 0. Minimization of nondet autom 0. Automata minimization No data available. Non-live state removal took 0.0s Buchi closure took 0.0s. Biggest automaton had -1 states and ocurred in iteration -1. Nontrivial modules had stage [1, 0, 0, 0, 0]. InterpolantCoveringCapabilityFinite: 0/0 InterpolantCoveringCapabilityBuchi: 0/0 HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 9614 SdHoareTripleChecker+Valid, 10.8s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 9613 mSDsluCounter, 104827 SdHoareTripleChecker+Invalid, 8.8s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 92625 mSDsCounter, 105 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 22636 IncrementalHoareTripleChecker+Invalid, 22741 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 105 mSolverCounterUnsat, 12202 mSDtfsCounter, 22636 mSolverCounterSat, 0.3s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown LassoAnalysisResults: nont0 unkn0 SFLI0 SFLT0 conc2 concLT0 SILN0 SILU2 SILI0 SILT0 lasso1 LassoPreprocessingBenchmarks: Lassos: inital239 mio100 ax120 hnf100 lsp74 ukn68 mio100 lsp36 div237 bol100 ite100 ukn100 eq146 hnf94 smp61 dnf100 smp100 tf100 neg100 sie100 LassoTerminationAnalysisBenchmarks: ConstraintsSatisfiability: unsat Degree: 0 Time: 29ms VariablesStem: 1 VariablesLoop: 0 DisjunctsStem: 1 DisjunctsLoop: 1 SupportingInvariants: 2 MotzkinApplications: 6 LassoTerminationAnalysisBenchmarks: LassoNonterminationAnalysisSatFixpoint: 0 LassoNonterminationAnalysisSatUnbounded: 0 LassoNonterminationAnalysisUnsat: 0 LassoNonterminationAnalysisUnknown: 0 LassoNonterminationAnalysisTime: 0.0s InitialAbstractionConstructionTime: 0.0s - TimeoutResult: Timeout (de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction) Buchi Automizer is unable to decide termination: Timeout while PredicateComparison was comparing new predicate (quantifier-free) to 1450 known predicates. RESULT: Ultimate could not prove your program: Timeout [2024-02-09 23:44:38,472 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Ended with exit code 0 Completed graceful shutdown