./Ultimate.py --spec ../sv-benchmarks/c/properties/termination.prp --file ../sv-benchmarks/c/termination-dietlibc/basename-3.i --full-output --architecture 64bit -------------------------------------------------------------------------------- Checking for termination Using default analysis Version 803cd42f Calling Ultimate with: /root/.sdkman/candidates/java/current/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerTermination.xml -i ../sv-benchmarks/c/termination-dietlibc/basename-3.i -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Termination-64bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(F end) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 64bit --witnessprinter.graph.data.programhash 2e90cfbacdda20e6be76d151b413bd2dd94f7cfd4eb0e599012526f6643aab85 --- Real Ultimate output --- This is Ultimate 0.2.5-tmp.dk.eval-assert-order-craig-803cd42-m [2024-11-23 02:09:13,498 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-11-23 02:09:13,546 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Termination-64bit-Automizer_Default.epf [2024-11-23 02:09:13,551 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-11-23 02:09:13,553 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-11-23 02:09:13,576 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-11-23 02:09:13,576 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-11-23 02:09:13,576 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-11-23 02:09:13,577 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2024-11-23 02:09:13,577 INFO L153 SettingsManager]: * Use memory slicer=true [2024-11-23 02:09:13,578 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-11-23 02:09:13,578 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-11-23 02:09:13,578 INFO L153 SettingsManager]: * Use SBE=true [2024-11-23 02:09:13,578 INFO L151 SettingsManager]: Preferences of BuchiAutomizer differ from their defaults: [2024-11-23 02:09:13,579 INFO L153 SettingsManager]: * NCSB implementation=INTSET_LAZY3 [2024-11-23 02:09:13,579 INFO L153 SettingsManager]: * Use old map elimination=false [2024-11-23 02:09:13,579 INFO L153 SettingsManager]: * Use external solver (rank synthesis)=false [2024-11-23 02:09:13,579 INFO L153 SettingsManager]: * Use only trivial implications for array writes=true [2024-11-23 02:09:13,579 INFO L153 SettingsManager]: * Rank analysis=LINEAR_WITH_GUESSES [2024-11-23 02:09:13,580 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-11-23 02:09:13,583 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=ASSUME [2024-11-23 02:09:13,583 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2024-11-23 02:09:13,584 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-11-23 02:09:13,584 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=ASSUME [2024-11-23 02:09:13,584 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=ASSUME [2024-11-23 02:09:13,584 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=ASSUME [2024-11-23 02:09:13,584 INFO L153 SettingsManager]: * Allow undefined functions=false [2024-11-23 02:09:13,584 INFO L153 SettingsManager]: * Check unreachability of reach_error function=false [2024-11-23 02:09:13,584 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-11-23 02:09:13,585 INFO L153 SettingsManager]: * Assume nondeterminstic values are in range=false [2024-11-23 02:09:13,585 INFO L153 SettingsManager]: * Use constant arrays=true [2024-11-23 02:09:13,585 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-11-23 02:09:13,585 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-11-23 02:09:13,585 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-11-23 02:09:13,585 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2024-11-23 02:09:13,586 INFO L151 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2024-11-23 02:09:13,586 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.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(F end) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 64bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 2e90cfbacdda20e6be76d151b413bd2dd94f7cfd4eb0e599012526f6643aab85 [2024-11-23 02:09:13,770 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-11-23 02:09:13,789 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-11-23 02:09:13,791 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-11-23 02:09:13,792 INFO L270 PluginConnector]: Initializing CDTParser... [2024-11-23 02:09:13,793 INFO L274 PluginConnector]: CDTParser initialized [2024-11-23 02:09:13,794 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/termination-dietlibc/basename-3.i [2024-11-23 02:09:14,969 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-11-23 02:09:15,185 INFO L384 CDTParser]: Found 1 translation units. [2024-11-23 02:09:15,186 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/termination-dietlibc/basename-3.i [2024-11-23 02:09:15,196 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/cf14cab41/6e8b2502ef4f4351a4c73aea5b605f2a/FLAG375c2528c [2024-11-23 02:09:15,215 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/cf14cab41/6e8b2502ef4f4351a4c73aea5b605f2a [2024-11-23 02:09:15,217 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-11-23 02:09:15,218 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2024-11-23 02:09:15,219 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-11-23 02:09:15,219 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-11-23 02:09:15,225 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-11-23 02:09:15,226 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 02:09:15" (1/1) ... [2024-11-23 02:09:15,226 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@111ec9ef and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:09:15, skipping insertion in model container [2024-11-23 02:09:15,226 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 02:09:15" (1/1) ... [2024-11-23 02:09:15,259 INFO L175 MainTranslator]: Built tables and reachable declarations [2024-11-23 02:09:15,498 INFO L210 PostProcessor]: Analyzing one entry point: main [2024-11-23 02:09:15,509 INFO L200 MainTranslator]: Completed pre-run [2024-11-23 02:09:15,547 INFO L210 PostProcessor]: Analyzing one entry point: main [2024-11-23 02:09:15,577 INFO L204 MainTranslator]: Completed translation [2024-11-23 02:09:15,578 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:09:15 WrapperNode [2024-11-23 02:09:15,578 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-11-23 02:09:15,578 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2024-11-23 02:09:15,579 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2024-11-23 02:09:15,579 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2024-11-23 02:09:15,584 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:09:15" (1/1) ... [2024-11-23 02:09:15,596 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:09:15" (1/1) ... [2024-11-23 02:09:15,615 INFO L138 Inliner]: procedures = 114, calls = 12, calls flagged for inlining = 4, calls inlined = 4, statements flattened = 66 [2024-11-23 02:09:15,615 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2024-11-23 02:09:15,616 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-11-23 02:09:15,616 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-11-23 02:09:15,616 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-11-23 02:09:15,629 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:09:15" (1/1) ... [2024-11-23 02:09:15,629 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:09:15" (1/1) ... [2024-11-23 02:09:15,632 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:09:15" (1/1) ... [2024-11-23 02:09:15,644 INFO L175 MemorySlicer]: Split 5 memory accesses to 1 slices as follows [5]. 100 percent of accesses are in the largest equivalence class. The 0 initializations are split as follows [0]. The 2 writes are split as follows [2]. [2024-11-23 02:09:15,644 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:09:15" (1/1) ... [2024-11-23 02:09:15,645 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:09:15" (1/1) ... [2024-11-23 02:09:15,649 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:09:15" (1/1) ... [2024-11-23 02:09:15,651 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:09:15" (1/1) ... [2024-11-23 02:09:15,652 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:09:15" (1/1) ... [2024-11-23 02:09:15,653 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:09:15" (1/1) ... [2024-11-23 02:09:15,654 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-11-23 02:09:15,655 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2024-11-23 02:09:15,655 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2024-11-23 02:09:15,655 INFO L274 PluginConnector]: RCFGBuilder initialized [2024-11-23 02:09:15,656 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:09:15" (1/1) ... [2024-11-23 02:09:15,660 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-23 02:09:15,671 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:15,689 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-11-23 02:09:15,692 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-11-23 02:09:15,726 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#0 [2024-11-23 02:09:15,727 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#0 [2024-11-23 02:09:15,727 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2024-11-23 02:09:15,727 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2024-11-23 02:09:15,727 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-11-23 02:09:15,727 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-11-23 02:09:15,794 INFO L238 CfgBuilder]: Building ICFG [2024-11-23 02:09:15,795 INFO L264 CfgBuilder]: Building CFG for each procedure with an implementation [2024-11-23 02:09:15,911 INFO L? ?]: Removed 33 outVars from TransFormulas that were not future-live. [2024-11-23 02:09:15,911 INFO L287 CfgBuilder]: Performing block encoding [2024-11-23 02:09:15,919 INFO L311 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2024-11-23 02:09:15,920 INFO L316 CfgBuilder]: Removed 1 assume(true) statements. [2024-11-23 02:09:15,920 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 02:09:15 BoogieIcfgContainer [2024-11-23 02:09:15,920 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2024-11-23 02:09:15,921 INFO L112 PluginConnector]: ------------------------BuchiAutomizer---------------------------- [2024-11-23 02:09:15,921 INFO L270 PluginConnector]: Initializing BuchiAutomizer... [2024-11-23 02:09:15,924 INFO L274 PluginConnector]: BuchiAutomizer initialized [2024-11-23 02:09:15,925 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2024-11-23 02:09:15,925 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "CDTParser AST 23.11 02:09:15" (1/3) ... [2024-11-23 02:09:15,926 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@129d6bab and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 23.11 02:09:15, skipping insertion in model container [2024-11-23 02:09:15,926 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2024-11-23 02:09:15,926 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:09:15" (2/3) ... [2024-11-23 02:09:15,926 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@129d6bab and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 23.11 02:09:15, skipping insertion in model container [2024-11-23 02:09:15,926 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2024-11-23 02:09:15,926 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 02:09:15" (3/3) ... [2024-11-23 02:09:15,928 INFO L332 chiAutomizerObserver]: Analyzing ICFG basename-3.i [2024-11-23 02:09:15,966 INFO L300 stractBuchiCegarLoop]: Interprodecural is true [2024-11-23 02:09:15,966 INFO L301 stractBuchiCegarLoop]: Hoare is None [2024-11-23 02:09:15,966 INFO L302 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2024-11-23 02:09:15,966 INFO L303 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2024-11-23 02:09:15,966 INFO L304 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2024-11-23 02:09:15,967 INFO L305 stractBuchiCegarLoop]: Difference is false [2024-11-23 02:09:15,967 INFO L306 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2024-11-23 02:09:15,967 INFO L310 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2024-11-23 02:09:15,970 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 16 states, 15 states have (on average 1.4666666666666666) internal successors, (22), 15 states have internal predecessors, (22), 0 states have call successors, (0), 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-11-23 02:09:15,982 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 9 [2024-11-23 02:09:15,983 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-23 02:09:15,983 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-23 02:09:15,987 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2024-11-23 02:09:15,987 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-11-23 02:09:15,987 INFO L332 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2024-11-23 02:09:15,987 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 16 states, 15 states have (on average 1.4666666666666666) internal successors, (22), 15 states have internal predecessors, (22), 0 states have call successors, (0), 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-11-23 02:09:15,988 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 9 [2024-11-23 02:09:15,989 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-23 02:09:15,989 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-23 02:09:15,989 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2024-11-23 02:09:15,989 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-11-23 02:09:15,995 INFO L745 eck$LassoCheckResult]: Stem: 13#$Ultimate##0true assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 5#L-1true assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~ret9#1.base, main_#t~ret9#1.offset, main_~in_len~0#1, main_~in~0#1.base, main_~in~0#1.offset;havoc main_#t~nondet7#1;main_~in_len~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; 6#L531true assume !(main_~in_len~0#1 < 1);call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~in_len~0#1 % 18446744073709551616);main_~in~0#1.base, main_~in~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call write~int#0(0, main_~in~0#1.base, main_~in~0#1.offset + (main_~in_len~0#1 - 1), 1);assume { :begin_inline_basename } true;basename_#in~path#1.base, basename_#in~path#1.offset := main_~in~0#1.base, main_~in~0#1.offset;havoc basename_#res#1.base, basename_#res#1.offset;havoc basename_#t~ret5#1.base, basename_#t~ret5#1.offset, basename_#t~mem6#1, basename_~path#1.base, basename_~path#1.offset, basename_~c~0#1.base, basename_~c~0#1.offset;basename_~path#1.base, basename_~path#1.offset := basename_#in~path#1.base, basename_#in~path#1.offset;havoc basename_~c~0#1.base, basename_~c~0#1.offset; 14#L517true [2024-11-23 02:09:15,995 INFO L747 eck$LassoCheckResult]: Loop: 14#L517true assume { :begin_inline_strrchr } true;strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1 := basename_~path#1.base, basename_~path#1.offset, 47;havoc strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_#in~t#1.base, strrchr_#in~t#1.offset;strrchr_~c#1 := strrchr_#in~c#1;havoc strrchr_~ch~0#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := 0, 0;strrchr_~ch~0#1 := (if strrchr_~c#1 % 256 <= 127 then strrchr_~c#1 % 256 else strrchr_~c#1 % 256 - 256); 12#L510-1true assume !true;strrchr_#res#1.base, strrchr_#res#1.offset := strrchr_~l~0#1.base, strrchr_~l~0#1.offset; 16#strrchr_returnLabel#1true basename_#t~ret5#1.base, basename_#t~ret5#1.offset := strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;havoc strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1;assume { :end_inline_strrchr } true;basename_~c~0#1.base, basename_~c~0#1.offset := basename_#t~ret5#1.base, basename_#t~ret5#1.offset; 7#L518true assume !(basename_~c~0#1.base == 0 && basename_~c~0#1.offset == 0);havoc basename_#t~ret5#1.base, basename_#t~ret5#1.offset;call basename_#t~mem6#1 := read~int#0(basename_~c~0#1.base, 1 + basename_~c~0#1.offset, 1); 17#L519true assume 0 == basename_#t~mem6#1;havoc basename_#t~mem6#1; 8#L520true assume !(basename_~c~0#1.base == basename_~path#1.base && basename_~c~0#1.offset == basename_~path#1.offset);call write~int#0(0, basename_~c~0#1.base, basename_~c~0#1.offset, 1); 14#L517true [2024-11-23 02:09:15,999 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:09:16,000 INFO L85 PathProgramCache]: Analyzing trace with hash 29860, now seen corresponding path program 1 times [2024-11-23 02:09:16,006 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:09:16,007 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1503722565] [2024-11-23 02:09:16,007 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-23 02:09:16,008 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:09:16,103 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:09:16,105 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-23 02:09:16,118 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:09:16,136 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-23 02:09:16,138 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:09:16,139 INFO L85 PathProgramCache]: Analyzing trace with hash 1171953214, now seen corresponding path program 1 times [2024-11-23 02:09:16,139 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:09:16,139 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [153585625] [2024-11-23 02:09:16,140 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-23 02:09:16,140 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:09:16,157 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-23 02:09:16,198 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-23 02:09:16,198 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-23 02:09:16,198 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [153585625] [2024-11-23 02:09:16,199 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [153585625] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-23 02:09:16,199 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-23 02:09:16,199 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2024-11-23 02:09:16,199 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1318769845] [2024-11-23 02:09:16,200 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-23 02:09:16,204 INFO L762 eck$LassoCheckResult]: loop already infeasible [2024-11-23 02:09:16,205 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-23 02:09:16,231 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2024-11-23 02:09:16,231 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2024-11-23 02:09:16,233 INFO L87 Difference]: Start difference. First operand has 16 states, 15 states have (on average 1.4666666666666666) internal successors, (22), 15 states have internal predecessors, (22), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand has 2 states, 2 states have (on average 3.0) internal successors, (6), 2 states have internal predecessors, (6), 0 states have call successors, (0), 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-11-23 02:09:16,239 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-23 02:09:16,239 INFO L93 Difference]: Finished difference Result 16 states and 21 transitions. [2024-11-23 02:09:16,240 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 16 states and 21 transitions. [2024-11-23 02:09:16,243 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 9 [2024-11-23 02:09:16,245 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 16 states to 12 states and 14 transitions. [2024-11-23 02:09:16,246 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 12 [2024-11-23 02:09:16,246 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 12 [2024-11-23 02:09:16,246 INFO L73 IsDeterministic]: Start isDeterministic. Operand 12 states and 14 transitions. [2024-11-23 02:09:16,247 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-23 02:09:16,247 INFO L218 hiAutomatonCegarLoop]: Abstraction has 12 states and 14 transitions. [2024-11-23 02:09:16,270 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 12 states and 14 transitions. [2024-11-23 02:09:16,276 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 12 to 12. [2024-11-23 02:09:16,277 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 1.1666666666666667) internal successors, (14), 11 states have internal predecessors, (14), 0 states have call successors, (0), 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-11-23 02:09:16,277 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 14 transitions. [2024-11-23 02:09:16,279 INFO L240 hiAutomatonCegarLoop]: Abstraction has 12 states and 14 transitions. [2024-11-23 02:09:16,280 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-11-23 02:09:16,283 INFO L425 stractBuchiCegarLoop]: Abstraction has 12 states and 14 transitions. [2024-11-23 02:09:16,283 INFO L332 stractBuchiCegarLoop]: ======== Iteration 2 ============ [2024-11-23 02:09:16,283 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 12 states and 14 transitions. [2024-11-23 02:09:16,289 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 9 [2024-11-23 02:09:16,289 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-23 02:09:16,289 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-23 02:09:16,290 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2024-11-23 02:09:16,290 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-23 02:09:16,290 INFO L745 eck$LassoCheckResult]: Stem: 44#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 45#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~ret9#1.base, main_#t~ret9#1.offset, main_~in_len~0#1, main_~in~0#1.base, main_~in~0#1.offset;havoc main_#t~nondet7#1;main_~in_len~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; 46#L531 assume !(main_~in_len~0#1 < 1);call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~in_len~0#1 % 18446744073709551616);main_~in~0#1.base, main_~in~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call write~int#0(0, main_~in~0#1.base, main_~in~0#1.offset + (main_~in_len~0#1 - 1), 1);assume { :begin_inline_basename } true;basename_#in~path#1.base, basename_#in~path#1.offset := main_~in~0#1.base, main_~in~0#1.offset;havoc basename_#res#1.base, basename_#res#1.offset;havoc basename_#t~ret5#1.base, basename_#t~ret5#1.offset, basename_#t~mem6#1, basename_~path#1.base, basename_~path#1.offset, basename_~c~0#1.base, basename_~c~0#1.offset;basename_~path#1.base, basename_~path#1.offset := basename_#in~path#1.base, basename_#in~path#1.offset;havoc basename_~c~0#1.base, basename_~c~0#1.offset; 47#L517 [2024-11-23 02:09:16,290 INFO L747 eck$LassoCheckResult]: Loop: 47#L517 assume { :begin_inline_strrchr } true;strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1 := basename_~path#1.base, basename_~path#1.offset, 47;havoc strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_#in~t#1.base, strrchr_#in~t#1.offset;strrchr_~c#1 := strrchr_#in~c#1;havoc strrchr_~ch~0#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := 0, 0;strrchr_~ch~0#1 := (if strrchr_~c#1 % 256 <= 127 then strrchr_~c#1 % 256 else strrchr_~c#1 % 256 - 256); 43#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 40#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 41#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 42#L511-3 assume 0 == strrchr_#t~mem3#1;havoc strrchr_#t~mem3#1;strrchr_#res#1.base, strrchr_#res#1.offset := strrchr_~l~0#1.base, strrchr_~l~0#1.offset; 51#strrchr_returnLabel#1 basename_#t~ret5#1.base, basename_#t~ret5#1.offset := strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;havoc strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1;assume { :end_inline_strrchr } true;basename_~c~0#1.base, basename_~c~0#1.offset := basename_#t~ret5#1.base, basename_#t~ret5#1.offset; 48#L518 assume !(basename_~c~0#1.base == 0 && basename_~c~0#1.offset == 0);havoc basename_#t~ret5#1.base, basename_#t~ret5#1.offset;call basename_#t~mem6#1 := read~int#0(basename_~c~0#1.base, 1 + basename_~c~0#1.offset, 1); 49#L519 assume 0 == basename_#t~mem6#1;havoc basename_#t~mem6#1; 50#L520 assume !(basename_~c~0#1.base == basename_~path#1.base && basename_~c~0#1.offset == basename_~path#1.offset);call write~int#0(0, basename_~c~0#1.base, basename_~c~0#1.offset, 1); 47#L517 [2024-11-23 02:09:16,291 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:09:16,292 INFO L85 PathProgramCache]: Analyzing trace with hash 29860, now seen corresponding path program 2 times [2024-11-23 02:09:16,292 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:09:16,292 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [905830732] [2024-11-23 02:09:16,296 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-11-23 02:09:16,296 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:09:16,335 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2024-11-23 02:09:16,336 INFO L228 tOrderPrioritization]: Conjunction of SSA is sat [2024-11-23 02:09:16,336 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-23 02:09:16,349 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:09:16,352 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-23 02:09:16,354 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:09:16,354 INFO L85 PathProgramCache]: Analyzing trace with hash -487094312, now seen corresponding path program 1 times [2024-11-23 02:09:16,354 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:09:16,354 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1160812719] [2024-11-23 02:09:16,354 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-23 02:09:16,355 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:09:16,381 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-23 02:09:16,592 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-23 02:09:16,594 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-23 02:09:16,594 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1160812719] [2024-11-23 02:09:16,595 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1160812719] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-23 02:09:16,595 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-23 02:09:16,595 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2024-11-23 02:09:16,595 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [30868333] [2024-11-23 02:09:16,595 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-23 02:09:16,595 INFO L762 eck$LassoCheckResult]: loop already infeasible [2024-11-23 02:09:16,595 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-23 02:09:16,596 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2024-11-23 02:09:16,596 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2024-11-23 02:09:16,596 INFO L87 Difference]: Start difference. First operand 12 states and 14 transitions. cyclomatic complexity: 3 Second operand has 6 states, 5 states have (on average 1.8) internal successors, (9), 5 states have internal predecessors, (9), 0 states have call successors, (0), 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-11-23 02:09:16,679 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-23 02:09:16,679 INFO L93 Difference]: Finished difference Result 28 states and 34 transitions. [2024-11-23 02:09:16,679 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 28 states and 34 transitions. [2024-11-23 02:09:16,680 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 20 [2024-11-23 02:09:16,682 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 28 states to 23 states and 28 transitions. [2024-11-23 02:09:16,682 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 23 [2024-11-23 02:09:16,682 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 23 [2024-11-23 02:09:16,682 INFO L73 IsDeterministic]: Start isDeterministic. Operand 23 states and 28 transitions. [2024-11-23 02:09:16,682 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-23 02:09:16,682 INFO L218 hiAutomatonCegarLoop]: Abstraction has 23 states and 28 transitions. [2024-11-23 02:09:16,682 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 23 states and 28 transitions. [2024-11-23 02:09:16,684 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 23 to 18. [2024-11-23 02:09:16,684 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 17 states have internal predecessors, (22), 0 states have call successors, (0), 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-11-23 02:09:16,685 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 22 transitions. [2024-11-23 02:09:16,686 INFO L240 hiAutomatonCegarLoop]: Abstraction has 18 states and 22 transitions. [2024-11-23 02:09:16,686 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2024-11-23 02:09:16,687 INFO L425 stractBuchiCegarLoop]: Abstraction has 18 states and 22 transitions. [2024-11-23 02:09:16,687 INFO L332 stractBuchiCegarLoop]: ======== Iteration 3 ============ [2024-11-23 02:09:16,687 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 18 states and 22 transitions. [2024-11-23 02:09:16,687 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 15 [2024-11-23 02:09:16,687 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-23 02:09:16,687 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-23 02:09:16,688 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2024-11-23 02:09:16,688 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-23 02:09:16,689 INFO L745 eck$LassoCheckResult]: Stem: 99#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 100#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~ret9#1.base, main_#t~ret9#1.offset, main_~in_len~0#1, main_~in~0#1.base, main_~in~0#1.offset;havoc main_#t~nondet7#1;main_~in_len~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; 101#L531 assume !(main_~in_len~0#1 < 1);call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~in_len~0#1 % 18446744073709551616);main_~in~0#1.base, main_~in~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call write~int#0(0, main_~in~0#1.base, main_~in~0#1.offset + (main_~in_len~0#1 - 1), 1);assume { :begin_inline_basename } true;basename_#in~path#1.base, basename_#in~path#1.offset := main_~in~0#1.base, main_~in~0#1.offset;havoc basename_#res#1.base, basename_#res#1.offset;havoc basename_#t~ret5#1.base, basename_#t~ret5#1.offset, basename_#t~mem6#1, basename_~path#1.base, basename_~path#1.offset, basename_~c~0#1.base, basename_~c~0#1.offset;basename_~path#1.base, basename_~path#1.offset := basename_#in~path#1.base, basename_#in~path#1.offset;havoc basename_~c~0#1.base, basename_~c~0#1.offset; 102#L517 [2024-11-23 02:09:16,689 INFO L747 eck$LassoCheckResult]: Loop: 102#L517 assume { :begin_inline_strrchr } true;strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1 := basename_~path#1.base, basename_~path#1.offset, 47;havoc strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_#in~t#1.base, strrchr_#in~t#1.offset;strrchr_~c#1 := strrchr_#in~c#1;havoc strrchr_~ch~0#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := 0, 0;strrchr_~ch~0#1 := (if strrchr_~c#1 % 256 <= 127 then strrchr_~c#1 % 256 else strrchr_~c#1 % 256 - 256); 106#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 93#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 95#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 108#L511-3 assume 0 == strrchr_#t~mem3#1;havoc strrchr_#t~mem3#1;strrchr_#res#1.base, strrchr_#res#1.offset := strrchr_~l~0#1.base, strrchr_~l~0#1.offset; 107#strrchr_returnLabel#1 basename_#t~ret5#1.base, basename_#t~ret5#1.offset := strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;havoc strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1;assume { :end_inline_strrchr } true;basename_~c~0#1.base, basename_~c~0#1.offset := basename_#t~ret5#1.base, basename_#t~ret5#1.offset; 103#L518 assume !(basename_~c~0#1.base == 0 && basename_~c~0#1.offset == 0);havoc basename_#t~ret5#1.base, basename_#t~ret5#1.offset;call basename_#t~mem6#1 := read~int#0(basename_~c~0#1.base, 1 + basename_~c~0#1.offset, 1); 104#L519 assume 0 == basename_#t~mem6#1;havoc basename_#t~mem6#1; 105#L520 assume !(basename_~c~0#1.base == basename_~path#1.base && basename_~c~0#1.offset == basename_~path#1.offset);call write~int#0(0, basename_~c~0#1.base, basename_~c~0#1.offset, 1); 102#L517 [2024-11-23 02:09:16,689 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:09:16,689 INFO L85 PathProgramCache]: Analyzing trace with hash 29860, now seen corresponding path program 3 times [2024-11-23 02:09:16,689 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:09:16,689 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1914725621] [2024-11-23 02:09:16,689 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2024-11-23 02:09:16,690 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:09:16,707 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) [2024-11-23 02:09:16,708 INFO L228 tOrderPrioritization]: Conjunction of SSA is sat [2024-11-23 02:09:16,708 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-23 02:09:16,715 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:09:16,721 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-23 02:09:16,721 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:09:16,724 INFO L85 PathProgramCache]: Analyzing trace with hash 1287913050, now seen corresponding path program 1 times [2024-11-23 02:09:16,724 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:09:16,724 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [623618074] [2024-11-23 02:09:16,724 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-23 02:09:16,724 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:09:16,739 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-23 02:09:16,848 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-23 02:09:16,848 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-23 02:09:16,848 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [623618074] [2024-11-23 02:09:16,848 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [623618074] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-23 02:09:16,848 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-23 02:09:16,848 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2024-11-23 02:09:16,848 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1551796764] [2024-11-23 02:09:16,848 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-23 02:09:16,849 INFO L762 eck$LassoCheckResult]: loop already infeasible [2024-11-23 02:09:16,849 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-23 02:09:16,849 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2024-11-23 02:09:16,849 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2024-11-23 02:09:16,849 INFO L87 Difference]: Start difference. First operand 18 states and 22 transitions. cyclomatic complexity: 5 Second operand has 6 states, 5 states have (on average 1.8) internal successors, (9), 5 states have internal predecessors, (9), 0 states have call successors, (0), 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-11-23 02:09:16,884 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-23 02:09:16,884 INFO L93 Difference]: Finished difference Result 26 states and 31 transitions. [2024-11-23 02:09:16,884 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 26 states and 31 transitions. [2024-11-23 02:09:16,885 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 19 [2024-11-23 02:09:16,885 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 26 states to 22 states and 27 transitions. [2024-11-23 02:09:16,886 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 22 [2024-11-23 02:09:16,886 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 22 [2024-11-23 02:09:16,886 INFO L73 IsDeterministic]: Start isDeterministic. Operand 22 states and 27 transitions. [2024-11-23 02:09:16,886 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-23 02:09:16,886 INFO L218 hiAutomatonCegarLoop]: Abstraction has 22 states and 27 transitions. [2024-11-23 02:09:16,886 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 22 states and 27 transitions. [2024-11-23 02:09:16,887 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 22 to 18. [2024-11-23 02:09:16,888 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 17 states have internal predecessors, (22), 0 states have call successors, (0), 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-11-23 02:09:16,888 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 22 transitions. [2024-11-23 02:09:16,888 INFO L240 hiAutomatonCegarLoop]: Abstraction has 18 states and 22 transitions. [2024-11-23 02:09:16,889 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-11-23 02:09:16,889 INFO L425 stractBuchiCegarLoop]: Abstraction has 18 states and 22 transitions. [2024-11-23 02:09:16,889 INFO L332 stractBuchiCegarLoop]: ======== Iteration 4 ============ [2024-11-23 02:09:16,889 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 18 states and 22 transitions. [2024-11-23 02:09:16,890 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 15 [2024-11-23 02:09:16,890 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-23 02:09:16,890 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-23 02:09:16,890 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2024-11-23 02:09:16,890 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1] [2024-11-23 02:09:16,890 INFO L745 eck$LassoCheckResult]: Stem: 153#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 154#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~ret9#1.base, main_#t~ret9#1.offset, main_~in_len~0#1, main_~in~0#1.base, main_~in~0#1.offset;havoc main_#t~nondet7#1;main_~in_len~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; 155#L531 assume !(main_~in_len~0#1 < 1);call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~in_len~0#1 % 18446744073709551616);main_~in~0#1.base, main_~in~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call write~int#0(0, main_~in~0#1.base, main_~in~0#1.offset + (main_~in_len~0#1 - 1), 1);assume { :begin_inline_basename } true;basename_#in~path#1.base, basename_#in~path#1.offset := main_~in~0#1.base, main_~in~0#1.offset;havoc basename_#res#1.base, basename_#res#1.offset;havoc basename_#t~ret5#1.base, basename_#t~ret5#1.offset, basename_#t~mem6#1, basename_~path#1.base, basename_~path#1.offset, basename_~c~0#1.base, basename_~c~0#1.offset;basename_~path#1.base, basename_~path#1.offset := basename_#in~path#1.base, basename_#in~path#1.offset;havoc basename_~c~0#1.base, basename_~c~0#1.offset; 156#L517 [2024-11-23 02:09:16,891 INFO L747 eck$LassoCheckResult]: Loop: 156#L517 assume { :begin_inline_strrchr } true;strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1 := basename_~path#1.base, basename_~path#1.offset, 47;havoc strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_#in~t#1.base, strrchr_#in~t#1.offset;strrchr_~c#1 := strrchr_#in~c#1;havoc strrchr_~ch~0#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := 0, 0;strrchr_~ch~0#1 := (if strrchr_~c#1 % 256 <= 127 then strrchr_~c#1 % 256 else strrchr_~c#1 % 256 - 256); 160#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 148#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 149#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 150#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 151#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 152#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 164#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 162#L511-3 assume 0 == strrchr_#t~mem3#1;havoc strrchr_#t~mem3#1;strrchr_#res#1.base, strrchr_#res#1.offset := strrchr_~l~0#1.base, strrchr_~l~0#1.offset; 161#strrchr_returnLabel#1 basename_#t~ret5#1.base, basename_#t~ret5#1.offset := strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;havoc strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1;assume { :end_inline_strrchr } true;basename_~c~0#1.base, basename_~c~0#1.offset := basename_#t~ret5#1.base, basename_#t~ret5#1.offset; 157#L518 assume !(basename_~c~0#1.base == 0 && basename_~c~0#1.offset == 0);havoc basename_#t~ret5#1.base, basename_#t~ret5#1.offset;call basename_#t~mem6#1 := read~int#0(basename_~c~0#1.base, 1 + basename_~c~0#1.offset, 1); 158#L519 assume 0 == basename_#t~mem6#1;havoc basename_#t~mem6#1; 159#L520 assume !(basename_~c~0#1.base == basename_~path#1.base && basename_~c~0#1.offset == basename_~path#1.offset);call write~int#0(0, basename_~c~0#1.base, basename_~c~0#1.offset, 1); 156#L517 [2024-11-23 02:09:16,891 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:09:16,891 INFO L85 PathProgramCache]: Analyzing trace with hash 29860, now seen corresponding path program 4 times [2024-11-23 02:09:16,891 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:09:16,891 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [377747776] [2024-11-23 02:09:16,892 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2024-11-23 02:09:16,892 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:09:16,899 INFO L227 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2024-11-23 02:09:16,900 INFO L228 tOrderPrioritization]: Conjunction of SSA is sat [2024-11-23 02:09:16,900 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-23 02:09:16,903 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:09:16,905 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-23 02:09:16,905 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:09:16,905 INFO L85 PathProgramCache]: Analyzing trace with hash 1065055040, now seen corresponding path program 1 times [2024-11-23 02:09:16,905 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:09:16,905 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [656466266] [2024-11-23 02:09:16,905 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-23 02:09:16,905 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:09:16,915 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-23 02:09:16,996 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-23 02:09:16,996 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-23 02:09:16,996 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [656466266] [2024-11-23 02:09:16,997 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [656466266] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-23 02:09:16,997 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1087324683] [2024-11-23 02:09:16,997 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-23 02:09:16,997 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-23 02:09:16,997 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:17,000 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-23 02:09:17,001 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2024-11-23 02:09:17,054 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-23 02:09:17,056 INFO L255 TraceCheckSpWp]: Trace formula consists of 93 conjuncts, 15 conjuncts are in the unsatisfiable core [2024-11-23 02:09:17,058 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-23 02:09:17,243 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 8 [2024-11-23 02:09:17,248 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-23 02:09:17,249 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-23 02:09:17,391 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 1 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-23 02:09:17,392 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1087324683] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-23 02:09:17,392 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-23 02:09:17,394 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9, 9] total 17 [2024-11-23 02:09:17,394 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [124841939] [2024-11-23 02:09:17,394 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-23 02:09:17,395 INFO L762 eck$LassoCheckResult]: loop already infeasible [2024-11-23 02:09:17,395 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-23 02:09:17,395 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2024-11-23 02:09:17,395 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=62, Invalid=210, Unknown=0, NotChecked=0, Total=272 [2024-11-23 02:09:17,396 INFO L87 Difference]: Start difference. First operand 18 states and 22 transitions. cyclomatic complexity: 5 Second operand has 17 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 17 states have internal predecessors, (23), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-11-23 02:09:17,516 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-23 02:09:17,516 INFO L93 Difference]: Finished difference Result 26 states and 31 transitions. [2024-11-23 02:09:17,516 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 26 states and 31 transitions. [2024-11-23 02:09:17,517 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 23 [2024-11-23 02:09:17,518 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 26 states to 26 states and 31 transitions. [2024-11-23 02:09:17,518 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 26 [2024-11-23 02:09:17,518 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 26 [2024-11-23 02:09:17,518 INFO L73 IsDeterministic]: Start isDeterministic. Operand 26 states and 31 transitions. [2024-11-23 02:09:17,518 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-23 02:09:17,518 INFO L218 hiAutomatonCegarLoop]: Abstraction has 26 states and 31 transitions. [2024-11-23 02:09:17,518 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 26 states and 31 transitions. [2024-11-23 02:09:17,519 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 26 to 20. [2024-11-23 02:09:17,520 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 20 states have (on average 1.2) internal successors, (24), 19 states have internal predecessors, (24), 0 states have call successors, (0), 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-11-23 02:09:17,520 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 24 transitions. [2024-11-23 02:09:17,520 INFO L240 hiAutomatonCegarLoop]: Abstraction has 20 states and 24 transitions. [2024-11-23 02:09:17,521 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2024-11-23 02:09:17,521 INFO L425 stractBuchiCegarLoop]: Abstraction has 20 states and 24 transitions. [2024-11-23 02:09:17,521 INFO L332 stractBuchiCegarLoop]: ======== Iteration 5 ============ [2024-11-23 02:09:17,521 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 20 states and 24 transitions. [2024-11-23 02:09:17,522 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 17 [2024-11-23 02:09:17,522 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-23 02:09:17,522 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-23 02:09:17,522 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2024-11-23 02:09:17,522 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1] [2024-11-23 02:09:17,523 INFO L745 eck$LassoCheckResult]: Stem: 293#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 294#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~ret9#1.base, main_#t~ret9#1.offset, main_~in_len~0#1, main_~in~0#1.base, main_~in~0#1.offset;havoc main_#t~nondet7#1;main_~in_len~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; 295#L531 assume !(main_~in_len~0#1 < 1);call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~in_len~0#1 % 18446744073709551616);main_~in~0#1.base, main_~in~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call write~int#0(0, main_~in~0#1.base, main_~in~0#1.offset + (main_~in_len~0#1 - 1), 1);assume { :begin_inline_basename } true;basename_#in~path#1.base, basename_#in~path#1.offset := main_~in~0#1.base, main_~in~0#1.offset;havoc basename_#res#1.base, basename_#res#1.offset;havoc basename_#t~ret5#1.base, basename_#t~ret5#1.offset, basename_#t~mem6#1, basename_~path#1.base, basename_~path#1.offset, basename_~c~0#1.base, basename_~c~0#1.offset;basename_~path#1.base, basename_~path#1.offset := basename_#in~path#1.base, basename_#in~path#1.offset;havoc basename_~c~0#1.base, basename_~c~0#1.offset; 296#L517 [2024-11-23 02:09:17,523 INFO L747 eck$LassoCheckResult]: Loop: 296#L517 assume { :begin_inline_strrchr } true;strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1 := basename_~path#1.base, basename_~path#1.offset, 47;havoc strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_#in~t#1.base, strrchr_#in~t#1.offset;strrchr_~c#1 := strrchr_#in~c#1;havoc strrchr_~ch~0#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := 0, 0;strrchr_~ch~0#1 := (if strrchr_~c#1 % 256 <= 127 then strrchr_~c#1 % 256 else strrchr_~c#1 % 256 - 256); 300#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 288#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 289#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 290#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 291#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 292#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 306#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 307#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 303#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 305#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 304#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 302#L511-3 assume 0 == strrchr_#t~mem3#1;havoc strrchr_#t~mem3#1;strrchr_#res#1.base, strrchr_#res#1.offset := strrchr_~l~0#1.base, strrchr_~l~0#1.offset; 301#strrchr_returnLabel#1 basename_#t~ret5#1.base, basename_#t~ret5#1.offset := strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;havoc strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1;assume { :end_inline_strrchr } true;basename_~c~0#1.base, basename_~c~0#1.offset := basename_#t~ret5#1.base, basename_#t~ret5#1.offset; 297#L518 assume !(basename_~c~0#1.base == 0 && basename_~c~0#1.offset == 0);havoc basename_#t~ret5#1.base, basename_#t~ret5#1.offset;call basename_#t~mem6#1 := read~int#0(basename_~c~0#1.base, 1 + basename_~c~0#1.offset, 1); 298#L519 assume 0 == basename_#t~mem6#1;havoc basename_#t~mem6#1; 299#L520 assume !(basename_~c~0#1.base == basename_~path#1.base && basename_~c~0#1.offset == basename_~path#1.offset);call write~int#0(0, basename_~c~0#1.base, basename_~c~0#1.offset, 1); 296#L517 [2024-11-23 02:09:17,523 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:09:17,523 INFO L85 PathProgramCache]: Analyzing trace with hash 29860, now seen corresponding path program 5 times [2024-11-23 02:09:17,523 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:09:17,523 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2146235343] [2024-11-23 02:09:17,523 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2024-11-23 02:09:17,524 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:09:17,531 INFO L227 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2024-11-23 02:09:17,532 INFO L228 tOrderPrioritization]: Conjunction of SSA is sat [2024-11-23 02:09:17,533 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-23 02:09:17,536 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:09:17,538 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-23 02:09:17,539 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:09:17,539 INFO L85 PathProgramCache]: Analyzing trace with hash 26730794, now seen corresponding path program 1 times [2024-11-23 02:09:17,539 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:09:17,539 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [726991584] [2024-11-23 02:09:17,539 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-23 02:09:17,540 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:09:17,553 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:09:17,553 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-23 02:09:17,560 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:09:17,563 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-23 02:09:17,564 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:09:17,564 INFO L85 PathProgramCache]: Analyzing trace with hash 1156638439, now seen corresponding path program 1 times [2024-11-23 02:09:17,564 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:09:17,564 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [42075193] [2024-11-23 02:09:17,565 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-23 02:09:17,565 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:09:17,582 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:09:17,582 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-23 02:09:17,592 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:09:17,598 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-23 02:09:18,117 INFO L204 LassoAnalysis]: Preferences: [2024-11-23 02:09:18,117 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2024-11-23 02:09:18,117 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2024-11-23 02:09:18,117 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2024-11-23 02:09:18,118 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2024-11-23 02:09:18,118 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-23 02:09:18,118 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2024-11-23 02:09:18,118 INFO L131 ssoRankerPreferences]: Path of dumped script: [2024-11-23 02:09:18,118 INFO L132 ssoRankerPreferences]: Filename of dumped script: basename-3.i_Iteration5_Lasso [2024-11-23 02:09:18,118 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2024-11-23 02:09:18,118 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2024-11-23 02:09:18,135 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:18,141 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:18,143 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:18,144 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:18,146 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:18,147 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:18,149 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:18,151 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:18,153 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:18,154 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:18,156 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:18,158 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:18,159 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:18,161 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:18,163 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:18,165 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:18,166 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:18,168 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:18,170 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:18,253 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:18,255 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:18,257 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:18,259 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:18,260 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:18,262 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:18,264 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:18,266 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:18,267 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:18,270 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:18,271 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:18,272 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:18,469 INFO L259 LassoAnalysis]: Preprocessing complete. [2024-11-23 02:09:18,472 INFO L451 LassoAnalysis]: Using template 'affine'. [2024-11-23 02:09:18,473 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-23 02:09:18,474 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:18,475 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-11-23 02:09:18,477 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-11-23 02:09:18,479 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-11-23 02:09:18,489 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-23 02:09:18,490 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-23 02:09:18,490 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-23 02:09:18,490 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-23 02:09:18,490 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-23 02:09:18,491 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-23 02:09:18,492 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-23 02:09:18,493 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-23 02:09:18,500 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-11-23 02:09:18,500 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-23 02:09:18,501 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:18,502 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-11-23 02:09:18,503 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-11-23 02:09:18,504 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-11-23 02:09:18,514 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-23 02:09:18,514 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-23 02:09:18,514 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-23 02:09:18,514 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-23 02:09:18,514 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-23 02:09:18,515 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-23 02:09:18,515 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-23 02:09:18,516 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-23 02:09:18,524 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-11-23 02:09:18,524 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-23 02:09:18,524 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:18,525 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-11-23 02:09:18,526 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-11-23 02:09:18,528 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-11-23 02:09:18,538 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-23 02:09:18,538 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-23 02:09:18,538 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-23 02:09:18,539 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-23 02:09:18,539 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-23 02:09:18,539 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-23 02:09:18,539 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-23 02:09:18,540 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-23 02:09:18,546 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-11-23 02:09:18,546 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-23 02:09:18,547 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:18,548 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-11-23 02:09:18,549 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-11-23 02:09:18,550 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-11-23 02:09:18,560 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-23 02:09:18,560 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-23 02:09:18,560 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-23 02:09:18,560 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-23 02:09:18,560 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-23 02:09:18,561 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-23 02:09:18,561 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-23 02:09:18,562 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-23 02:09:18,568 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (6)] Ended with exit code 0 [2024-11-23 02:09:18,568 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-23 02:09:18,568 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:18,570 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-11-23 02:09:18,571 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-11-23 02:09:18,572 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-11-23 02:09:18,582 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-23 02:09:18,582 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-23 02:09:18,582 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-23 02:09:18,582 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-23 02:09:18,582 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-23 02:09:18,582 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-23 02:09:18,582 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-23 02:09:18,583 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-23 02:09:18,589 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (7)] Ended with exit code 0 [2024-11-23 02:09:18,589 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-23 02:09:18,590 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:18,590 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-11-23 02:09:18,591 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-11-23 02:09:18,592 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-11-23 02:09:18,602 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-23 02:09:18,602 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-23 02:09:18,602 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-23 02:09:18,602 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-23 02:09:18,602 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-23 02:09:18,602 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-23 02:09:18,602 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-23 02:09:18,604 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-23 02:09:18,609 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (8)] Forceful destruction successful, exit code 0 [2024-11-23 02:09:18,610 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-23 02:09:18,610 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:18,611 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-11-23 02:09:18,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-11-23 02:09:18,613 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-11-23 02:09:18,622 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-23 02:09:18,622 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-23 02:09:18,622 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-23 02:09:18,622 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-23 02:09:18,622 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-23 02:09:18,623 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-23 02:09:18,623 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-23 02:09:18,624 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-23 02:09:18,630 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (9)] Ended with exit code 0 [2024-11-23 02:09:18,630 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-23 02:09:18,631 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:18,631 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-11-23 02:09:18,632 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-11-23 02:09:18,633 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-11-23 02:09:18,643 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-23 02:09:18,643 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-23 02:09:18,643 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-23 02:09:18,643 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-23 02:09:18,643 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-23 02:09:18,644 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-23 02:09:18,644 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-23 02:09:18,645 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-23 02:09:18,657 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-11-23 02:09:18,657 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-23 02:09:18,657 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:18,660 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-11-23 02:09:18,664 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-11-23 02:09:18,664 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-11-23 02:09:18,673 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-23 02:09:18,674 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-23 02:09:18,674 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-23 02:09:18,674 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-23 02:09:18,674 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-23 02:09:18,675 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-23 02:09:18,675 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-23 02:09:18,676 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-23 02:09:18,682 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (11)] Ended with exit code 0 [2024-11-23 02:09:18,683 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-23 02:09:18,683 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:18,684 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-11-23 02:09:18,685 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-11-23 02:09:18,687 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-11-23 02:09:18,697 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-23 02:09:18,697 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-23 02:09:18,697 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-23 02:09:18,697 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-23 02:09:18,697 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-23 02:09:18,697 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-23 02:09:18,698 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-23 02:09:18,700 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-23 02:09:18,706 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (12)] Ended with exit code 0 [2024-11-23 02:09:18,707 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-23 02:09:18,707 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:18,709 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-11-23 02:09:18,710 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-11-23 02:09:18,710 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-11-23 02:09:18,722 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-23 02:09:18,723 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-23 02:09:18,723 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-23 02:09:18,723 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-23 02:09:18,723 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-23 02:09:18,724 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-23 02:09:18,724 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-23 02:09:18,725 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-23 02:09:18,731 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-11-23 02:09:18,732 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-23 02:09:18,732 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:18,734 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-11-23 02:09:18,734 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-11-23 02:09:18,736 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-11-23 02:09:18,745 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-23 02:09:18,746 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-23 02:09:18,746 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-23 02:09:18,746 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-23 02:09:18,746 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-23 02:09:18,746 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-23 02:09:18,746 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-23 02:09:18,748 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-23 02:09:18,754 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (14)] Ended with exit code 0 [2024-11-23 02:09:18,754 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-23 02:09:18,754 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:18,756 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-11-23 02:09:18,757 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-11-23 02:09:18,758 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-11-23 02:09:18,767 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-23 02:09:18,768 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-23 02:09:18,768 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-23 02:09:18,768 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-23 02:09:18,768 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-23 02:09:18,769 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-23 02:09:18,769 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-23 02:09:18,770 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-23 02:09:18,777 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-11-23 02:09:18,777 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-23 02:09:18,778 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:18,779 INFO L229 MonitoredProcess]: Starting monitored process 16 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-11-23 02:09:18,780 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (16)] Waiting until timeout for monitored process [2024-11-23 02:09:18,781 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-11-23 02:09:18,791 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-23 02:09:18,791 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-23 02:09:18,791 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-23 02:09:18,791 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-23 02:09:18,791 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-23 02:09:18,791 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-23 02:09:18,791 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-23 02:09:18,792 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-23 02:09:18,801 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (16)] Ended with exit code 0 [2024-11-23 02:09:18,802 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-23 02:09:18,802 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:18,804 INFO L229 MonitoredProcess]: Starting monitored process 17 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-11-23 02:09:18,805 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (17)] Waiting until timeout for monitored process [2024-11-23 02:09:18,805 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-11-23 02:09:18,815 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-23 02:09:18,815 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-23 02:09:18,815 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-23 02:09:18,816 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-23 02:09:18,816 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-23 02:09:18,816 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-23 02:09:18,816 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-23 02:09:18,817 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-23 02:09:18,823 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (17)] Ended with exit code 0 [2024-11-23 02:09:18,824 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-23 02:09:18,824 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:18,826 INFO L229 MonitoredProcess]: Starting monitored process 18 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-11-23 02:09:18,826 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (18)] Waiting until timeout for monitored process [2024-11-23 02:09:18,828 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-11-23 02:09:18,838 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-23 02:09:18,838 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-23 02:09:18,838 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-23 02:09:18,838 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-23 02:09:18,838 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-23 02:09:18,838 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-23 02:09:18,839 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-23 02:09:18,840 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-23 02:09:18,845 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (18)] Ended with exit code 0 [2024-11-23 02:09:18,846 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-23 02:09:18,846 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:18,848 INFO L229 MonitoredProcess]: Starting monitored process 19 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-11-23 02:09:18,849 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (19)] Waiting until timeout for monitored process [2024-11-23 02:09:18,851 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-11-23 02:09:18,864 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-23 02:09:18,864 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-23 02:09:18,864 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-23 02:09:18,864 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-23 02:09:18,864 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-23 02:09:18,865 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-23 02:09:18,865 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-23 02:09:18,867 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-23 02:09:18,873 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (19)] Ended with exit code 0 [2024-11-23 02:09:18,874 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-23 02:09:18,874 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:18,875 INFO L229 MonitoredProcess]: Starting monitored process 20 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-11-23 02:09:18,878 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (20)] Waiting until timeout for monitored process [2024-11-23 02:09:18,880 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-11-23 02:09:18,890 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-23 02:09:18,890 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-23 02:09:18,890 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-23 02:09:18,890 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-23 02:09:18,890 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-23 02:09:18,891 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-23 02:09:18,891 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-23 02:09:18,892 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-23 02:09:18,898 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (20)] Forceful destruction successful, exit code 0 [2024-11-23 02:09:18,898 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-23 02:09:18,899 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:18,900 INFO L229 MonitoredProcess]: Starting monitored process 21 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-11-23 02:09:18,902 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (21)] Waiting until timeout for monitored process [2024-11-23 02:09:18,903 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-11-23 02:09:18,914 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-23 02:09:18,914 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-23 02:09:18,914 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-23 02:09:18,915 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-23 02:09:18,915 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-23 02:09:18,916 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-23 02:09:18,916 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-23 02:09:18,918 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2024-11-23 02:09:18,921 INFO L443 ModelExtractionUtils]: Simplification made 2 calls to the SMT solver. [2024-11-23 02:09:18,921 INFO L444 ModelExtractionUtils]: 1 out of 3 variables were initially zero. Simplification set additionally 0 variables to zero. [2024-11-23 02:09:18,922 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-23 02:09:18,922 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:18,924 INFO L229 MonitoredProcess]: Starting monitored process 22 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-11-23 02:09:18,925 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (22)] Waiting until timeout for monitored process [2024-11-23 02:09:18,929 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2024-11-23 02:09:18,929 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2024-11-23 02:09:18,929 INFO L474 LassoAnalysis]: Proved termination. [2024-11-23 02:09:18,930 INFO L476 LassoAnalysis]: Termination argument consisting of: Ranking function f(v_rep(select (select #memory_int#0 ULTIMATE.start_basename_~path#1.base) (+ ULTIMATE.start_basename_~path#1.offset 1))_1) = 1*v_rep(select (select #memory_int#0 ULTIMATE.start_basename_~path#1.base) (+ ULTIMATE.start_basename_~path#1.offset 1))_1 Supporting invariants [] [2024-11-23 02:09:18,937 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (21)] Forceful destruction successful, exit code 0 [2024-11-23 02:09:18,945 INFO L156 tatePredicateManager]: 4 out of 4 supporting invariants were superfluous and have been removed [2024-11-23 02:09:18,950 WARN L976 BoogieBacktranslator]: Unfinished Backtranslation: Unknown variable: #memory_int#0 [2024-11-23 02:09:18,950 WARN L976 BoogieBacktranslator]: Unfinished Backtranslation: Cannot backtranslate array access to array IdentifierExpression[#memory_int#0,GLOBAL] [2024-11-23 02:09:18,950 WARN L976 BoogieBacktranslator]: Unfinished Backtranslation: Cannot backtranslate array access to array ArrayAccessExpression[IdentifierExpression[#memory_int#0,GLOBAL],[IdentifierExpression[~path!base,]]] [2024-11-23 02:09:18,959 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:09:18,971 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-23 02:09:18,972 INFO L255 TraceCheckSpWp]: Trace formula consists of 39 conjuncts, 2 conjuncts are in the unsatisfiable core [2024-11-23 02:09:18,972 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-23 02:09:18,998 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-23 02:09:18,999 INFO L255 TraceCheckSpWp]: Trace formula consists of 111 conjuncts, 50 conjuncts are in the unsatisfiable core [2024-11-23 02:09:19,001 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-23 02:09:19,076 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (22)] Forceful destruction successful, exit code 0 [2024-11-23 02:09:19,369 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 12 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-23 02:09:19,372 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 11 loop predicates [2024-11-23 02:09:19,373 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 20 states and 24 transitions. cyclomatic complexity: 5 Second operand has 12 states, 12 states have (on average 1.6666666666666667) internal successors, (20), 12 states have internal predecessors, (20), 0 states have call successors, (0), 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-11-23 02:09:19,667 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 20 states and 24 transitions. cyclomatic complexity: 5. Second operand has 12 states, 12 states have (on average 1.6666666666666667) internal successors, (20), 12 states have internal predecessors, (20), 0 states have call successors, (0), 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 90 states and 108 transitions. Complement of second has 25 states. [2024-11-23 02:09:19,669 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 13 states 1 stem states 11 non-accepting loop states 1 accepting loop states [2024-11-23 02:09:19,670 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 1.6666666666666667) internal successors, (20), 12 states have internal predecessors, (20), 0 states have call successors, (0), 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-11-23 02:09:19,672 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 37 transitions. [2024-11-23 02:09:19,674 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 13 states and 37 transitions. Stem has 3 letters. Loop has 17 letters. [2024-11-23 02:09:19,674 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-23 02:09:19,675 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 13 states and 37 transitions. Stem has 20 letters. Loop has 17 letters. [2024-11-23 02:09:19,675 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-23 02:09:19,675 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 13 states and 37 transitions. Stem has 3 letters. Loop has 34 letters. [2024-11-23 02:09:19,676 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-23 02:09:19,676 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 90 states and 108 transitions. [2024-11-23 02:09:19,678 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 31 [2024-11-23 02:09:19,680 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 90 states to 68 states and 81 transitions. [2024-11-23 02:09:19,682 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 50 [2024-11-23 02:09:19,682 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 51 [2024-11-23 02:09:19,682 INFO L73 IsDeterministic]: Start isDeterministic. Operand 68 states and 81 transitions. [2024-11-23 02:09:19,682 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-23 02:09:19,682 INFO L218 hiAutomatonCegarLoop]: Abstraction has 68 states and 81 transitions. [2024-11-23 02:09:19,682 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 68 states and 81 transitions. [2024-11-23 02:09:19,685 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 68 to 42. [2024-11-23 02:09:19,685 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 42 states, 42 states have (on average 1.1904761904761905) internal successors, (50), 41 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-11-23 02:09:19,685 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 50 transitions. [2024-11-23 02:09:19,685 INFO L240 hiAutomatonCegarLoop]: Abstraction has 42 states and 50 transitions. [2024-11-23 02:09:19,685 INFO L425 stractBuchiCegarLoop]: Abstraction has 42 states and 50 transitions. [2024-11-23 02:09:19,686 INFO L332 stractBuchiCegarLoop]: ======== Iteration 6 ============ [2024-11-23 02:09:19,686 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 42 states and 50 transitions. [2024-11-23 02:09:19,688 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 17 [2024-11-23 02:09:19,688 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-23 02:09:19,688 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-23 02:09:19,689 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1] [2024-11-23 02:09:19,689 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2024-11-23 02:09:19,689 INFO L745 eck$LassoCheckResult]: Stem: 542#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 543#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~ret9#1.base, main_#t~ret9#1.offset, main_~in_len~0#1, main_~in~0#1.base, main_~in~0#1.offset;havoc main_#t~nondet7#1;main_~in_len~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; 544#L531 assume !(main_~in_len~0#1 < 1);call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~in_len~0#1 % 18446744073709551616);main_~in~0#1.base, main_~in~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call write~int#0(0, main_~in~0#1.base, main_~in~0#1.offset + (main_~in_len~0#1 - 1), 1);assume { :begin_inline_basename } true;basename_#in~path#1.base, basename_#in~path#1.offset := main_~in~0#1.base, main_~in~0#1.offset;havoc basename_#res#1.base, basename_#res#1.offset;havoc basename_#t~ret5#1.base, basename_#t~ret5#1.offset, basename_#t~mem6#1, basename_~path#1.base, basename_~path#1.offset, basename_~c~0#1.base, basename_~c~0#1.offset;basename_~path#1.base, basename_~path#1.offset := basename_#in~path#1.base, basename_#in~path#1.offset;havoc basename_~c~0#1.base, basename_~c~0#1.offset; 545#L517 assume { :begin_inline_strrchr } true;strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1 := basename_~path#1.base, basename_~path#1.offset, 47;havoc strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_#in~t#1.base, strrchr_#in~t#1.offset;strrchr_~c#1 := strrchr_#in~c#1;havoc strrchr_~ch~0#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := 0, 0;strrchr_~ch~0#1 := (if strrchr_~c#1 % 256 <= 127 then strrchr_~c#1 % 256 else strrchr_~c#1 % 256 - 256); 554#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 575#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 535#L511-2 [2024-11-23 02:09:19,690 INFO L747 eck$LassoCheckResult]: Loop: 535#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 538#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 573#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 572#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 535#L511-2 [2024-11-23 02:09:19,690 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:09:19,690 INFO L85 PathProgramCache]: Analyzing trace with hash 889568330, now seen corresponding path program 1 times [2024-11-23 02:09:19,690 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:09:19,690 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [238610680] [2024-11-23 02:09:19,691 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-23 02:09:19,691 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:09:19,702 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:09:19,705 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-23 02:09:19,714 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:09:19,717 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-23 02:09:19,718 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:09:19,718 INFO L85 PathProgramCache]: Analyzing trace with hash 1543787, now seen corresponding path program 1 times [2024-11-23 02:09:19,720 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:09:19,720 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [284937918] [2024-11-23 02:09:19,720 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-23 02:09:19,720 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:09:19,727 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:09:19,727 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-23 02:09:19,729 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:09:19,733 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-23 02:09:19,735 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:09:19,736 INFO L85 PathProgramCache]: Analyzing trace with hash -2015101388, now seen corresponding path program 1 times [2024-11-23 02:09:19,736 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:09:19,736 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1659432270] [2024-11-23 02:09:19,736 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-23 02:09:19,736 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:09:19,750 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:09:19,752 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-23 02:09:19,763 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:09:19,765 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-23 02:09:20,102 INFO L204 LassoAnalysis]: Preferences: [2024-11-23 02:09:20,102 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2024-11-23 02:09:20,102 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2024-11-23 02:09:20,102 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2024-11-23 02:09:20,102 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2024-11-23 02:09:20,102 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-23 02:09:20,102 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2024-11-23 02:09:20,103 INFO L131 ssoRankerPreferences]: Path of dumped script: [2024-11-23 02:09:20,103 INFO L132 ssoRankerPreferences]: Filename of dumped script: basename-3.i_Iteration6_Lasso [2024-11-23 02:09:20,103 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2024-11-23 02:09:20,103 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2024-11-23 02:09:20,104 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:20,108 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:20,110 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:20,112 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:20,114 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:20,115 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:20,117 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:20,118 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:20,120 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:20,121 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:20,123 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:20,232 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:20,238 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:20,239 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:20,244 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:20,246 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:20,248 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:20,249 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:20,250 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:20,251 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:20,253 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:20,255 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:20,256 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:20,257 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:20,443 INFO L259 LassoAnalysis]: Preprocessing complete. [2024-11-23 02:09:20,443 INFO L451 LassoAnalysis]: Using template 'affine'. [2024-11-23 02:09:20,443 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-23 02:09:20,443 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:20,445 INFO L229 MonitoredProcess]: Starting monitored process 23 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-11-23 02:09:20,446 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (23)] Waiting until timeout for monitored process [2024-11-23 02:09:20,449 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-11-23 02:09:20,458 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-23 02:09:20,458 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-23 02:09:20,459 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-23 02:09:20,459 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-23 02:09:20,459 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-23 02:09:20,459 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-23 02:09:20,459 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-23 02:09:20,460 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-23 02:09:20,466 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (23)] Ended with exit code 0 [2024-11-23 02:09:20,466 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-23 02:09:20,466 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:20,467 INFO L229 MonitoredProcess]: Starting monitored process 24 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-11-23 02:09:20,468 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (24)] Waiting until timeout for monitored process [2024-11-23 02:09:20,471 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-11-23 02:09:20,481 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-23 02:09:20,481 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-23 02:09:20,481 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-23 02:09:20,481 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-23 02:09:20,481 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-23 02:09:20,482 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-23 02:09:20,482 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-23 02:09:20,483 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-23 02:09:20,489 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (24)] Forceful destruction successful, exit code 0 [2024-11-23 02:09:20,490 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-23 02:09:20,490 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:20,491 INFO L229 MonitoredProcess]: Starting monitored process 25 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-11-23 02:09:20,492 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (25)] Waiting until timeout for monitored process [2024-11-23 02:09:20,493 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-11-23 02:09:20,503 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-23 02:09:20,503 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-23 02:09:20,503 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-23 02:09:20,503 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-23 02:09:20,503 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-23 02:09:20,504 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-23 02:09:20,504 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-23 02:09:20,505 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-23 02:09:20,511 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (25)] Forceful destruction successful, exit code 0 [2024-11-23 02:09:20,511 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-23 02:09:20,511 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:20,513 INFO L229 MonitoredProcess]: Starting monitored process 26 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-11-23 02:09:20,515 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (26)] Waiting until timeout for monitored process [2024-11-23 02:09:20,515 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-11-23 02:09:20,525 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-23 02:09:20,525 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-23 02:09:20,525 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-23 02:09:20,525 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-23 02:09:20,531 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-11-23 02:09:20,531 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-11-23 02:09:20,534 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-23 02:09:20,539 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (26)] Forceful destruction successful, exit code 0 [2024-11-23 02:09:20,540 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-23 02:09:20,540 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:20,541 INFO L229 MonitoredProcess]: Starting monitored process 27 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-11-23 02:09:20,542 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (27)] Waiting until timeout for monitored process [2024-11-23 02:09:20,543 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-11-23 02:09:20,553 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-23 02:09:20,554 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-23 02:09:20,554 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-23 02:09:20,554 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-23 02:09:20,554 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-23 02:09:20,554 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-23 02:09:20,554 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-23 02:09:20,558 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-23 02:09:20,564 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (27)] Forceful destruction successful, exit code 0 [2024-11-23 02:09:20,564 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-23 02:09:20,564 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:20,566 INFO L229 MonitoredProcess]: Starting monitored process 28 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-11-23 02:09:20,567 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (28)] Waiting until timeout for monitored process [2024-11-23 02:09:20,568 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-11-23 02:09:20,578 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-23 02:09:20,579 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-23 02:09:20,579 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-23 02:09:20,579 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-23 02:09:20,579 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-23 02:09:20,579 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-23 02:09:20,579 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-23 02:09:20,580 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-23 02:09:20,590 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (28)] Forceful destruction successful, exit code 0 [2024-11-23 02:09:20,590 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-23 02:09:20,591 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:20,592 INFO L229 MonitoredProcess]: Starting monitored process 29 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-11-23 02:09:20,593 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (29)] Waiting until timeout for monitored process [2024-11-23 02:09:20,594 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-11-23 02:09:20,605 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-23 02:09:20,605 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-23 02:09:20,605 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-23 02:09:20,605 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-23 02:09:20,605 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-23 02:09:20,606 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-23 02:09:20,606 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-23 02:09:20,610 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-23 02:09:20,618 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (29)] Ended with exit code 0 [2024-11-23 02:09:20,620 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-23 02:09:20,620 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:20,622 INFO L229 MonitoredProcess]: Starting monitored process 30 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-11-23 02:09:20,623 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (30)] Waiting until timeout for monitored process [2024-11-23 02:09:20,625 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-11-23 02:09:20,636 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-23 02:09:20,637 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-23 02:09:20,637 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-23 02:09:20,637 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-23 02:09:20,637 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-23 02:09:20,637 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-23 02:09:20,637 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-23 02:09:20,638 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-23 02:09:20,644 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (30)] Forceful destruction successful, exit code 0 [2024-11-23 02:09:20,644 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-23 02:09:20,644 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:20,646 INFO L229 MonitoredProcess]: Starting monitored process 31 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-11-23 02:09:20,647 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (31)] Waiting until timeout for monitored process [2024-11-23 02:09:20,648 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-11-23 02:09:20,658 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-23 02:09:20,658 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-23 02:09:20,658 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-23 02:09:20,658 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-23 02:09:20,658 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-23 02:09:20,659 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-23 02:09:20,659 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-23 02:09:20,660 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-23 02:09:20,665 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (31)] Ended with exit code 0 [2024-11-23 02:09:20,666 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-23 02:09:20,666 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:20,668 INFO L229 MonitoredProcess]: Starting monitored process 32 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-11-23 02:09:20,668 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (32)] Waiting until timeout for monitored process [2024-11-23 02:09:20,669 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-11-23 02:09:20,679 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-23 02:09:20,679 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-23 02:09:20,679 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-23 02:09:20,679 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-23 02:09:20,679 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-23 02:09:20,680 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-23 02:09:20,680 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-23 02:09:20,681 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-23 02:09:20,686 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (32)] Forceful destruction successful, exit code 0 [2024-11-23 02:09:20,686 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-23 02:09:20,686 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:20,687 INFO L229 MonitoredProcess]: Starting monitored process 33 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-11-23 02:09:20,689 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (33)] Waiting until timeout for monitored process [2024-11-23 02:09:20,690 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-11-23 02:09:20,700 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-23 02:09:20,700 INFO L203 nArgumentSynthesizer]: 2 stem disjuncts [2024-11-23 02:09:20,700 INFO L204 nArgumentSynthesizer]: 4 loop disjuncts [2024-11-23 02:09:20,700 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-23 02:09:20,711 INFO L401 nArgumentSynthesizer]: We have 56 Motzkin's Theorem applications. [2024-11-23 02:09:20,711 INFO L402 nArgumentSynthesizer]: A total of 8 supporting invariants were added. [2024-11-23 02:09:20,736 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-23 02:09:20,743 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (33)] Ended with exit code 0 [2024-11-23 02:09:20,744 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-23 02:09:20,744 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:20,746 INFO L229 MonitoredProcess]: Starting monitored process 34 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-11-23 02:09:20,747 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (34)] Waiting until timeout for monitored process [2024-11-23 02:09:20,747 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-11-23 02:09:20,757 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-23 02:09:20,757 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-23 02:09:20,757 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-23 02:09:20,757 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-23 02:09:20,760 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-11-23 02:09:20,760 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-11-23 02:09:20,764 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-23 02:09:20,771 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (34)] Ended with exit code 0 [2024-11-23 02:09:20,772 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-23 02:09:20,772 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:20,774 INFO L229 MonitoredProcess]: Starting monitored process 35 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-11-23 02:09:20,775 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (35)] Waiting until timeout for monitored process [2024-11-23 02:09:20,776 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-11-23 02:09:20,785 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-23 02:09:20,786 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-23 02:09:20,786 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-23 02:09:20,786 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-23 02:09:20,790 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-11-23 02:09:20,790 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-11-23 02:09:20,796 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2024-11-23 02:09:20,826 INFO L443 ModelExtractionUtils]: Simplification made 13 calls to the SMT solver. [2024-11-23 02:09:20,827 INFO L444 ModelExtractionUtils]: 3 out of 16 variables were initially zero. Simplification set additionally 8 variables to zero. [2024-11-23 02:09:20,827 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-23 02:09:20,827 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:20,829 INFO L229 MonitoredProcess]: Starting monitored process 36 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-11-23 02:09:20,830 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (36)] Waiting until timeout for monitored process [2024-11-23 02:09:20,831 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2024-11-23 02:09:20,842 INFO L438 nArgumentSynthesizer]: Removed 1 redundant supporting invariants from a total of 2. [2024-11-23 02:09:20,842 INFO L474 LassoAnalysis]: Proved termination. [2024-11-23 02:09:20,842 INFO L476 LassoAnalysis]: Termination argument consisting of: Ranking function f(ULTIMATE.start_strrchr_~t#1.offset) = -2*ULTIMATE.start_strrchr_~t#1.offset + 36893488147419103227 Supporting invariants [-1*v_rep(select #length ULTIMATE.start_strrchr_~t#1.base)_1 + 18446744073709551615 >= 0] [2024-11-23 02:09:20,848 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (35)] Forceful destruction successful, exit code 0 [2024-11-23 02:09:20,856 INFO L156 tatePredicateManager]: 3 out of 4 supporting invariants were superfluous and have been removed [2024-11-23 02:09:20,860 WARN L976 BoogieBacktranslator]: Unfinished Backtranslation: Unknown variable: ~t!offset [2024-11-23 02:09:20,877 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:09:20,888 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-23 02:09:20,889 INFO L255 TraceCheckSpWp]: Trace formula consists of 64 conjuncts, 14 conjuncts are in the unsatisfiable core [2024-11-23 02:09:20,890 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-23 02:09:20,898 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 1 [2024-11-23 02:09:20,927 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-23 02:09:20,928 INFO L255 TraceCheckSpWp]: Trace formula consists of 21 conjuncts, 7 conjuncts are in the unsatisfiable core [2024-11-23 02:09:20,928 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-23 02:09:20,968 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-23 02:09:20,969 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.3 stem predicates 3 loop predicates [2024-11-23 02:09:20,969 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 42 states and 50 transitions. cyclomatic complexity: 10 Second operand has 7 states, 7 states have (on average 1.4285714285714286) internal successors, (10), 7 states have internal predecessors, (10), 0 states have call successors, (0), 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-11-23 02:09:21,018 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 42 states and 50 transitions. cyclomatic complexity: 10. Second operand has 7 states, 7 states have (on average 1.4285714285714286) internal successors, (10), 7 states have internal predecessors, (10), 0 states have call successors, (0), 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 100 states and 122 transitions. Complement of second has 9 states. [2024-11-23 02:09:21,019 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 6 states 3 stem states 2 non-accepting loop states 1 accepting loop states [2024-11-23 02:09:21,020 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 1.4285714285714286) internal successors, (10), 7 states have internal predecessors, (10), 0 states have call successors, (0), 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-11-23 02:09:21,020 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 16 transitions. [2024-11-23 02:09:21,020 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 16 transitions. Stem has 6 letters. Loop has 4 letters. [2024-11-23 02:09:21,020 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-23 02:09:21,020 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 16 transitions. Stem has 10 letters. Loop has 4 letters. [2024-11-23 02:09:21,020 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-23 02:09:21,020 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 16 transitions. Stem has 6 letters. Loop has 8 letters. [2024-11-23 02:09:21,020 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-23 02:09:21,020 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 100 states and 122 transitions. [2024-11-23 02:09:21,022 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 21 [2024-11-23 02:09:21,023 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 100 states to 90 states and 108 transitions. [2024-11-23 02:09:21,023 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 43 [2024-11-23 02:09:21,023 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 45 [2024-11-23 02:09:21,023 INFO L73 IsDeterministic]: Start isDeterministic. Operand 90 states and 108 transitions. [2024-11-23 02:09:21,023 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-23 02:09:21,023 INFO L218 hiAutomatonCegarLoop]: Abstraction has 90 states and 108 transitions. [2024-11-23 02:09:21,023 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 90 states and 108 transitions. [2024-11-23 02:09:21,026 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 90 to 85. [2024-11-23 02:09:21,026 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 85 states, 85 states have (on average 1.2117647058823529) internal successors, (103), 84 states have internal predecessors, (103), 0 states have call successors, (0), 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-11-23 02:09:21,027 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 85 states to 85 states and 103 transitions. [2024-11-23 02:09:21,027 INFO L240 hiAutomatonCegarLoop]: Abstraction has 85 states and 103 transitions. [2024-11-23 02:09:21,027 INFO L425 stractBuchiCegarLoop]: Abstraction has 85 states and 103 transitions. [2024-11-23 02:09:21,027 INFO L332 stractBuchiCegarLoop]: ======== Iteration 7 ============ [2024-11-23 02:09:21,027 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 85 states and 103 transitions. [2024-11-23 02:09:21,028 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 21 [2024-11-23 02:09:21,028 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-23 02:09:21,028 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-23 02:09:21,028 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [3, 3, 2, 2, 1, 1, 1, 1] [2024-11-23 02:09:21,028 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2024-11-23 02:09:21,029 INFO L745 eck$LassoCheckResult]: Stem: 766#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 767#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~ret9#1.base, main_#t~ret9#1.offset, main_~in_len~0#1, main_~in~0#1.base, main_~in~0#1.offset;havoc main_#t~nondet7#1;main_~in_len~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; 768#L531 assume !(main_~in_len~0#1 < 1);call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~in_len~0#1 % 18446744073709551616);main_~in~0#1.base, main_~in~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call write~int#0(0, main_~in~0#1.base, main_~in~0#1.offset + (main_~in_len~0#1 - 1), 1);assume { :begin_inline_basename } true;basename_#in~path#1.base, basename_#in~path#1.offset := main_~in~0#1.base, main_~in~0#1.offset;havoc basename_#res#1.base, basename_#res#1.offset;havoc basename_#t~ret5#1.base, basename_#t~ret5#1.offset, basename_#t~mem6#1, basename_~path#1.base, basename_~path#1.offset, basename_~c~0#1.base, basename_~c~0#1.offset;basename_~path#1.base, basename_~path#1.offset := basename_#in~path#1.base, basename_#in~path#1.offset;havoc basename_~c~0#1.base, basename_~c~0#1.offset; 769#L517 assume { :begin_inline_strrchr } true;strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1 := basename_~path#1.base, basename_~path#1.offset, 47;havoc strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_#in~t#1.base, strrchr_#in~t#1.offset;strrchr_~c#1 := strrchr_#in~c#1;havoc strrchr_~ch~0#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := 0, 0;strrchr_~ch~0#1 := (if strrchr_~c#1 % 256 <= 127 then strrchr_~c#1 % 256 else strrchr_~c#1 % 256 - 256); 764#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 757#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 758#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 781#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 782#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 819#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 815#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 814#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 812#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 810#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 803#L511-2 [2024-11-23 02:09:21,029 INFO L747 eck$LassoCheckResult]: Loop: 803#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 805#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 800#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 801#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 803#L511-2 [2024-11-23 02:09:21,029 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:09:21,029 INFO L85 PathProgramCache]: Analyzing trace with hash -1275711976, now seen corresponding path program 1 times [2024-11-23 02:09:21,029 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:09:21,029 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [592632111] [2024-11-23 02:09:21,029 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-23 02:09:21,029 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:09:21,038 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:09:21,038 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-23 02:09:21,043 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:09:21,046 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-23 02:09:21,046 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:09:21,046 INFO L85 PathProgramCache]: Analyzing trace with hash 1543785, now seen corresponding path program 1 times [2024-11-23 02:09:21,046 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:09:21,046 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1128136650] [2024-11-23 02:09:21,047 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-23 02:09:21,047 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:09:21,049 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:09:21,049 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-23 02:09:21,051 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:09:21,052 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-23 02:09:21,052 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:09:21,052 INFO L85 PathProgramCache]: Analyzing trace with hash 1384831232, now seen corresponding path program 2 times [2024-11-23 02:09:21,052 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:09:21,052 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1756717765] [2024-11-23 02:09:21,052 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-11-23 02:09:21,053 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:09:21,078 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2024-11-23 02:09:21,078 INFO L228 tOrderPrioritization]: Conjunction of SSA is sat [2024-11-23 02:09:21,078 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-23 02:09:21,079 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (36)] Forceful destruction successful, exit code 0 [2024-11-23 02:09:21,089 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:09:21,093 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-23 02:09:21,559 INFO L204 LassoAnalysis]: Preferences: [2024-11-23 02:09:21,559 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2024-11-23 02:09:21,559 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2024-11-23 02:09:21,559 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2024-11-23 02:09:21,559 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2024-11-23 02:09:21,559 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-23 02:09:21,559 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2024-11-23 02:09:21,559 INFO L131 ssoRankerPreferences]: Path of dumped script: [2024-11-23 02:09:21,559 INFO L132 ssoRankerPreferences]: Filename of dumped script: basename-3.i_Iteration7_Lasso [2024-11-23 02:09:21,559 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2024-11-23 02:09:21,559 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2024-11-23 02:09:21,560 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:21,562 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:21,563 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:21,564 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:21,566 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:21,567 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:21,568 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:21,570 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:21,571 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:21,572 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:21,574 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:21,575 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:21,730 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:21,732 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:21,734 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:21,735 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:21,737 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:21,738 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:21,740 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:21,742 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:21,744 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:21,745 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:21,747 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-11-23 02:09:21,968 INFO L259 LassoAnalysis]: Preprocessing complete. [2024-11-23 02:09:21,969 INFO L451 LassoAnalysis]: Using template 'affine'. [2024-11-23 02:09:21,969 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-23 02:09:21,969 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:21,974 INFO L229 MonitoredProcess]: Starting monitored process 37 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-11-23 02:09:21,974 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (37)] Waiting until timeout for monitored process [2024-11-23 02:09:21,975 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-11-23 02:09:21,987 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-23 02:09:21,987 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-23 02:09:21,987 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-23 02:09:21,987 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-23 02:09:21,987 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-23 02:09:21,987 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-23 02:09:21,988 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-23 02:09:21,989 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-23 02:09:21,994 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (37)] Ended with exit code 0 [2024-11-23 02:09:21,994 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-23 02:09:21,994 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:21,995 INFO L229 MonitoredProcess]: Starting monitored process 38 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-11-23 02:09:21,997 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (38)] Waiting until timeout for monitored process [2024-11-23 02:09:21,997 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-11-23 02:09:22,007 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-23 02:09:22,007 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-23 02:09:22,007 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-23 02:09:22,007 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-23 02:09:22,007 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-23 02:09:22,008 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-23 02:09:22,008 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-23 02:09:22,009 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-23 02:09:22,014 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (38)] Forceful destruction successful, exit code 0 [2024-11-23 02:09:22,015 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-23 02:09:22,015 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:22,016 INFO L229 MonitoredProcess]: Starting monitored process 39 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-11-23 02:09:22,017 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (39)] Waiting until timeout for monitored process [2024-11-23 02:09:22,017 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-11-23 02:09:22,027 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-23 02:09:22,027 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-23 02:09:22,027 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-23 02:09:22,027 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-23 02:09:22,027 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-23 02:09:22,028 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-23 02:09:22,028 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-23 02:09:22,029 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-23 02:09:22,034 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (39)] Ended with exit code 0 [2024-11-23 02:09:22,035 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-23 02:09:22,035 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:22,036 INFO L229 MonitoredProcess]: Starting monitored process 40 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-11-23 02:09:22,040 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (40)] Waiting until timeout for monitored process [2024-11-23 02:09:22,040 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-11-23 02:09:22,050 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-23 02:09:22,050 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-23 02:09:22,050 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-23 02:09:22,050 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-23 02:09:22,050 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-23 02:09:22,050 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-23 02:09:22,051 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-23 02:09:22,052 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-23 02:09:22,057 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (40)] Ended with exit code 0 [2024-11-23 02:09:22,058 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-23 02:09:22,058 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:22,059 INFO L229 MonitoredProcess]: Starting monitored process 41 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-11-23 02:09:22,060 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (41)] Waiting until timeout for monitored process [2024-11-23 02:09:22,060 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-11-23 02:09:22,072 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-23 02:09:22,072 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-23 02:09:22,072 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-23 02:09:22,072 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-23 02:09:22,072 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-23 02:09:22,073 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-23 02:09:22,073 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-23 02:09:22,074 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-23 02:09:22,079 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (41)] Ended with exit code 0 [2024-11-23 02:09:22,079 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-23 02:09:22,079 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:22,080 INFO L229 MonitoredProcess]: Starting monitored process 42 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-11-23 02:09:22,081 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (42)] Waiting until timeout for monitored process [2024-11-23 02:09:22,082 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-11-23 02:09:22,092 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-23 02:09:22,092 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-23 02:09:22,092 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-23 02:09:22,092 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-23 02:09:22,092 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-23 02:09:22,093 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-23 02:09:22,093 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-23 02:09:22,094 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-23 02:09:22,099 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (42)] Ended with exit code 0 [2024-11-23 02:09:22,099 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-23 02:09:22,100 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:22,100 INFO L229 MonitoredProcess]: Starting monitored process 43 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-11-23 02:09:22,101 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (43)] Waiting until timeout for monitored process [2024-11-23 02:09:22,102 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-11-23 02:09:22,112 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-23 02:09:22,112 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-23 02:09:22,112 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-23 02:09:22,112 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-23 02:09:22,112 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-23 02:09:22,113 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-23 02:09:22,113 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-23 02:09:22,114 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-23 02:09:22,119 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (43)] Forceful destruction successful, exit code 0 [2024-11-23 02:09:22,119 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-23 02:09:22,120 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:22,120 INFO L229 MonitoredProcess]: Starting monitored process 44 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-11-23 02:09:22,121 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (44)] Waiting until timeout for monitored process [2024-11-23 02:09:22,124 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-11-23 02:09:22,133 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-23 02:09:22,133 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-23 02:09:22,133 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-23 02:09:22,133 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-23 02:09:22,133 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-23 02:09:22,134 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-23 02:09:22,134 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-23 02:09:22,135 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-23 02:09:22,140 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (44)] Forceful destruction successful, exit code 0 [2024-11-23 02:09:22,140 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-23 02:09:22,140 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:22,141 INFO L229 MonitoredProcess]: Starting monitored process 45 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-11-23 02:09:22,142 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (45)] Waiting until timeout for monitored process [2024-11-23 02:09:22,143 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-11-23 02:09:22,152 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-23 02:09:22,153 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-23 02:09:22,153 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-23 02:09:22,153 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-23 02:09:22,153 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-23 02:09:22,153 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-23 02:09:22,153 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-23 02:09:22,154 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-23 02:09:22,159 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (45)] Forceful destruction successful, exit code 0 [2024-11-23 02:09:22,160 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-23 02:09:22,160 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:22,160 INFO L229 MonitoredProcess]: Starting monitored process 46 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-11-23 02:09:22,162 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-11-23 02:09:22,165 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (46)] Waiting until timeout for monitored process [2024-11-23 02:09:22,172 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-23 02:09:22,172 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-23 02:09:22,172 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-23 02:09:22,172 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-23 02:09:22,172 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-23 02:09:22,172 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-23 02:09:22,172 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-23 02:09:22,173 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-23 02:09:22,179 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (46)] Forceful destruction successful, exit code 0 [2024-11-23 02:09:22,179 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-23 02:09:22,179 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:22,180 INFO L229 MonitoredProcess]: Starting monitored process 47 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-11-23 02:09:22,180 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (47)] Waiting until timeout for monitored process [2024-11-23 02:09:22,182 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-11-23 02:09:22,192 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-23 02:09:22,192 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-11-23 02:09:22,192 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-23 02:09:22,192 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-23 02:09:22,192 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-23 02:09:22,193 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-11-23 02:09:22,193 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-11-23 02:09:22,194 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-23 02:09:22,199 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (47)] Forceful destruction successful, exit code 0 [2024-11-23 02:09:22,200 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-23 02:09:22,200 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:22,201 INFO L229 MonitoredProcess]: Starting monitored process 48 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-11-23 02:09:22,201 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (48)] Waiting until timeout for monitored process [2024-11-23 02:09:22,202 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-11-23 02:09:22,212 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-23 02:09:22,212 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-23 02:09:22,212 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-23 02:09:22,212 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-23 02:09:22,213 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-11-23 02:09:22,213 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-11-23 02:09:22,216 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-23 02:09:22,221 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (48)] Ended with exit code 0 [2024-11-23 02:09:22,222 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-23 02:09:22,222 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:22,223 INFO L229 MonitoredProcess]: Starting monitored process 49 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-11-23 02:09:22,224 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (49)] Waiting until timeout for monitored process [2024-11-23 02:09:22,225 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-11-23 02:09:22,235 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-23 02:09:22,235 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-23 02:09:22,235 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-23 02:09:22,235 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-23 02:09:22,237 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-11-23 02:09:22,237 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-11-23 02:09:22,240 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-23 02:09:22,245 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (49)] Forceful destruction successful, exit code 0 [2024-11-23 02:09:22,246 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-23 02:09:22,246 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:22,247 INFO L229 MonitoredProcess]: Starting monitored process 50 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-11-23 02:09:22,247 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (50)] Waiting until timeout for monitored process [2024-11-23 02:09:22,249 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-11-23 02:09:22,259 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-23 02:09:22,259 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-23 02:09:22,259 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-23 02:09:22,259 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-23 02:09:22,260 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-11-23 02:09:22,260 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-11-23 02:09:22,263 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-23 02:09:22,269 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (50)] Forceful destruction successful, exit code 0 [2024-11-23 02:09:22,269 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-23 02:09:22,269 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:22,271 INFO L229 MonitoredProcess]: Starting monitored process 51 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-11-23 02:09:22,272 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (51)] Waiting until timeout for monitored process [2024-11-23 02:09:22,273 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-11-23 02:09:22,283 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-23 02:09:22,283 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-23 02:09:22,283 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-23 02:09:22,283 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-23 02:09:22,285 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-11-23 02:09:22,285 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-11-23 02:09:22,289 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-23 02:09:22,295 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (51)] Forceful destruction successful, exit code 0 [2024-11-23 02:09:22,295 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-23 02:09:22,295 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:22,297 INFO L229 MonitoredProcess]: Starting monitored process 52 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-11-23 02:09:22,298 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (52)] Waiting until timeout for monitored process [2024-11-23 02:09:22,299 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-11-23 02:09:22,309 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-23 02:09:22,309 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-23 02:09:22,309 INFO L204 nArgumentSynthesizer]: 2 loop disjuncts [2024-11-23 02:09:22,309 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-23 02:09:22,313 INFO L401 nArgumentSynthesizer]: We have 16 Motzkin's Theorem applications. [2024-11-23 02:09:22,313 INFO L402 nArgumentSynthesizer]: A total of 4 supporting invariants were added. [2024-11-23 02:09:22,321 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-23 02:09:22,327 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (52)] Forceful destruction successful, exit code 0 [2024-11-23 02:09:22,327 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-23 02:09:22,328 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:22,329 INFO L229 MonitoredProcess]: Starting monitored process 53 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-11-23 02:09:22,330 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (53)] Waiting until timeout for monitored process [2024-11-23 02:09:22,331 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-11-23 02:09:22,340 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-23 02:09:22,341 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-23 02:09:22,341 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-23 02:09:22,341 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-23 02:09:22,346 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-11-23 02:09:22,346 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-11-23 02:09:22,351 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-23 02:09:22,356 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (53)] Forceful destruction successful, exit code 0 [2024-11-23 02:09:22,357 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-23 02:09:22,357 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:22,358 INFO L229 MonitoredProcess]: Starting monitored process 54 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-11-23 02:09:22,359 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (54)] Waiting until timeout for monitored process [2024-11-23 02:09:22,359 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-11-23 02:09:22,370 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-23 02:09:22,370 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-23 02:09:22,370 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-23 02:09:22,370 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-23 02:09:22,371 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-11-23 02:09:22,371 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-11-23 02:09:22,374 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-11-23 02:09:22,379 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (54)] Forceful destruction successful, exit code 0 [2024-11-23 02:09:22,380 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-23 02:09:22,380 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:22,382 INFO L229 MonitoredProcess]: Starting monitored process 55 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-11-23 02:09:22,382 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (55)] Waiting until timeout for monitored process [2024-11-23 02:09:22,383 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-11-23 02:09:22,393 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-11-23 02:09:22,393 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-11-23 02:09:22,393 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-11-23 02:09:22,393 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-11-23 02:09:22,397 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-11-23 02:09:22,397 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-11-23 02:09:22,405 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2024-11-23 02:09:22,428 INFO L443 ModelExtractionUtils]: Simplification made 16 calls to the SMT solver. [2024-11-23 02:09:22,428 INFO L444 ModelExtractionUtils]: 1 out of 16 variables were initially zero. Simplification set additionally 12 variables to zero. [2024-11-23 02:09:22,428 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-23 02:09:22,428 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:22,430 INFO L229 MonitoredProcess]: Starting monitored process 56 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-11-23 02:09:22,431 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (56)] Waiting until timeout for monitored process [2024-11-23 02:09:22,431 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2024-11-23 02:09:22,442 INFO L438 nArgumentSynthesizer]: Removed 2 redundant supporting invariants from a total of 2. [2024-11-23 02:09:22,442 INFO L474 LassoAnalysis]: Proved termination. [2024-11-23 02:09:22,443 INFO L476 LassoAnalysis]: Termination argument consisting of: Ranking function f(ULTIMATE.start_strrchr_~t#1.offset, v_rep(select #length ULTIMATE.start_main_#t~malloc8#1.base)_3) = -1*ULTIMATE.start_strrchr_~t#1.offset + 1*v_rep(select #length ULTIMATE.start_main_#t~malloc8#1.base)_3 Supporting invariants [] [2024-11-23 02:09:22,448 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (55)] Ended with exit code 0 [2024-11-23 02:09:22,457 INFO L156 tatePredicateManager]: 4 out of 5 supporting invariants were superfluous and have been removed [2024-11-23 02:09:22,458 WARN L976 BoogieBacktranslator]: Unfinished Backtranslation: Unknown variable: #length [2024-11-23 02:09:22,459 WARN L976 BoogieBacktranslator]: Unfinished Backtranslation: Cannot backtranslate array access to array IdentifierExpression[#length,GLOBAL] [2024-11-23 02:09:22,459 WARN L976 BoogieBacktranslator]: Unfinished Backtranslation: Unknown variable: ~t!offset [2024-11-23 02:09:22,472 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:09:22,492 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-23 02:09:22,492 INFO L255 TraceCheckSpWp]: Trace formula consists of 115 conjuncts, 16 conjuncts are in the unsatisfiable core [2024-11-23 02:09:22,493 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-23 02:09:22,540 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-23 02:09:22,540 INFO L255 TraceCheckSpWp]: Trace formula consists of 27 conjuncts, 10 conjuncts are in the unsatisfiable core [2024-11-23 02:09:22,540 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-23 02:09:22,574 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-23 02:09:22,575 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.3 stem predicates 3 loop predicates [2024-11-23 02:09:22,575 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 85 states and 103 transitions. cyclomatic complexity: 24 Second operand has 7 states, 7 states have (on average 1.8571428571428572) internal successors, (13), 7 states have internal predecessors, (13), 0 states have call successors, (0), 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-11-23 02:09:22,624 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 85 states and 103 transitions. cyclomatic complexity: 24. Second operand has 7 states, 7 states have (on average 1.8571428571428572) internal successors, (13), 7 states have internal predecessors, (13), 0 states have call successors, (0), 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 131 states and 165 transitions. Complement of second has 9 states. [2024-11-23 02:09:22,625 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 6 states 3 stem states 2 non-accepting loop states 1 accepting loop states [2024-11-23 02:09:22,625 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 1.8571428571428572) internal successors, (13), 7 states have internal predecessors, (13), 0 states have call successors, (0), 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-11-23 02:09:22,625 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 16 transitions. [2024-11-23 02:09:22,625 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 16 transitions. Stem has 14 letters. Loop has 4 letters. [2024-11-23 02:09:22,625 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-23 02:09:22,625 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 16 transitions. Stem has 18 letters. Loop has 4 letters. [2024-11-23 02:09:22,625 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-23 02:09:22,625 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 16 transitions. Stem has 14 letters. Loop has 8 letters. [2024-11-23 02:09:22,626 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-11-23 02:09:22,626 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 131 states and 165 transitions. [2024-11-23 02:09:22,627 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 17 [2024-11-23 02:09:22,627 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 131 states to 100 states and 121 transitions. [2024-11-23 02:09:22,627 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 32 [2024-11-23 02:09:22,628 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 34 [2024-11-23 02:09:22,628 INFO L73 IsDeterministic]: Start isDeterministic. Operand 100 states and 121 transitions. [2024-11-23 02:09:22,628 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-23 02:09:22,628 INFO L218 hiAutomatonCegarLoop]: Abstraction has 100 states and 121 transitions. [2024-11-23 02:09:22,628 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 100 states and 121 transitions. [2024-11-23 02:09:22,630 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 100 to 71. [2024-11-23 02:09:22,630 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 71 states have (on average 1.1971830985915493) internal successors, (85), 70 states have internal predecessors, (85), 0 states have call successors, (0), 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-11-23 02:09:22,631 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 85 transitions. [2024-11-23 02:09:22,631 INFO L240 hiAutomatonCegarLoop]: Abstraction has 71 states and 85 transitions. [2024-11-23 02:09:22,631 INFO L425 stractBuchiCegarLoop]: Abstraction has 71 states and 85 transitions. [2024-11-23 02:09:22,631 INFO L332 stractBuchiCegarLoop]: ======== Iteration 8 ============ [2024-11-23 02:09:22,631 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 71 states and 85 transitions. [2024-11-23 02:09:22,631 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 17 [2024-11-23 02:09:22,631 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-23 02:09:22,631 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-23 02:09:22,632 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [3, 3, 2, 2, 1, 1, 1, 1, 1, 1] [2024-11-23 02:09:22,632 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1] [2024-11-23 02:09:22,632 INFO L745 eck$LassoCheckResult]: Stem: 1091#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 1092#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~ret9#1.base, main_#t~ret9#1.offset, main_~in_len~0#1, main_~in~0#1.base, main_~in~0#1.offset;havoc main_#t~nondet7#1;main_~in_len~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; 1093#L531 assume !(main_~in_len~0#1 < 1);call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~in_len~0#1 % 18446744073709551616);main_~in~0#1.base, main_~in~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call write~int#0(0, main_~in~0#1.base, main_~in~0#1.offset + (main_~in_len~0#1 - 1), 1);assume { :begin_inline_basename } true;basename_#in~path#1.base, basename_#in~path#1.offset := main_~in~0#1.base, main_~in~0#1.offset;havoc basename_#res#1.base, basename_#res#1.offset;havoc basename_#t~ret5#1.base, basename_#t~ret5#1.offset, basename_#t~mem6#1, basename_~path#1.base, basename_~path#1.offset, basename_~c~0#1.base, basename_~c~0#1.offset;basename_~path#1.base, basename_~path#1.offset := basename_#in~path#1.base, basename_#in~path#1.offset;havoc basename_~c~0#1.base, basename_~c~0#1.offset; 1094#L517 assume { :begin_inline_strrchr } true;strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1 := basename_~path#1.base, basename_~path#1.offset, 47;havoc strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_#in~t#1.base, strrchr_#in~t#1.offset;strrchr_~c#1 := strrchr_#in~c#1;havoc strrchr_~ch~0#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := 0, 0;strrchr_~ch~0#1 := (if strrchr_~c#1 % 256 <= 127 then strrchr_~c#1 % 256 else strrchr_~c#1 % 256 - 256); 1089#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 1082#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 1084#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 1088#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 1090#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 1085#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 1086#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 1149#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 1148#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 1142#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 1140#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 1109#L511-3 assume 0 == strrchr_#t~mem3#1;havoc strrchr_#t~mem3#1;strrchr_#res#1.base, strrchr_#res#1.offset := strrchr_~l~0#1.base, strrchr_~l~0#1.offset; 1107#strrchr_returnLabel#1 [2024-11-23 02:09:22,632 INFO L747 eck$LassoCheckResult]: Loop: 1107#strrchr_returnLabel#1 basename_#t~ret5#1.base, basename_#t~ret5#1.offset := strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;havoc strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1;assume { :end_inline_strrchr } true;basename_~c~0#1.base, basename_~c~0#1.offset := basename_#t~ret5#1.base, basename_#t~ret5#1.offset; 1095#L518 assume !(basename_~c~0#1.base == 0 && basename_~c~0#1.offset == 0);havoc basename_#t~ret5#1.base, basename_#t~ret5#1.offset;call basename_#t~mem6#1 := read~int#0(basename_~c~0#1.base, 1 + basename_~c~0#1.offset, 1); 1096#L519 assume 0 == basename_#t~mem6#1;havoc basename_#t~mem6#1; 1099#L520 assume !(basename_~c~0#1.base == basename_~path#1.base && basename_~c~0#1.offset == basename_~path#1.offset);call write~int#0(0, basename_~c~0#1.base, basename_~c~0#1.offset, 1); 1100#L517 assume { :begin_inline_strrchr } true;strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1 := basename_~path#1.base, basename_~path#1.offset, 47;havoc strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_#in~t#1.base, strrchr_#in~t#1.offset;strrchr_~c#1 := strrchr_#in~c#1;havoc strrchr_~ch~0#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := 0, 0;strrchr_~ch~0#1 := (if strrchr_~c#1 % 256 <= 127 then strrchr_~c#1 % 256 else strrchr_~c#1 % 256 - 256); 1103#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 1119#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 1120#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 1133#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 1131#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 1130#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 1118#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 1126#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 1125#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 1117#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 1111#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 1112#L511-3 assume 0 == strrchr_#t~mem3#1;havoc strrchr_#t~mem3#1;strrchr_#res#1.base, strrchr_#res#1.offset := strrchr_~l~0#1.base, strrchr_~l~0#1.offset; 1107#strrchr_returnLabel#1 [2024-11-23 02:09:22,632 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:09:22,632 INFO L85 PathProgramCache]: Analyzing trace with hash -1192462433, now seen corresponding path program 1 times [2024-11-23 02:09:22,633 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:09:22,633 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2115574683] [2024-11-23 02:09:22,633 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-23 02:09:22,633 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:09:22,641 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:09:22,641 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-23 02:09:22,646 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:09:22,648 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-23 02:09:22,649 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:09:22,649 INFO L85 PathProgramCache]: Analyzing trace with hash -1276134570, now seen corresponding path program 2 times [2024-11-23 02:09:22,649 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:09:22,649 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [55535625] [2024-11-23 02:09:22,649 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-11-23 02:09:22,649 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:09:22,658 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2024-11-23 02:09:22,658 INFO L228 tOrderPrioritization]: Conjunction of SSA is sat [2024-11-23 02:09:22,658 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-23 02:09:22,665 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:09:22,667 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-23 02:09:22,668 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:09:22,668 INFO L85 PathProgramCache]: Analyzing trace with hash -1834372232, now seen corresponding path program 2 times [2024-11-23 02:09:22,668 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:09:22,668 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [91060065] [2024-11-23 02:09:22,668 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-11-23 02:09:22,668 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:09:22,688 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2024-11-23 02:09:22,689 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-23 02:09:22,804 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (56)] Ended with exit code 0 [2024-11-23 02:09:23,192 INFO L134 CoverageAnalysis]: Checked inductivity of 61 backedges. 1 proven. 60 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-23 02:09:23,192 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-23 02:09:23,192 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [91060065] [2024-11-23 02:09:23,192 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [91060065] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-23 02:09:23,192 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1103809945] [2024-11-23 02:09:23,192 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-11-23 02:09:23,192 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-23 02:09:23,193 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:23,197 INFO L229 MonitoredProcess]: Starting monitored process 57 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-23 02:09:23,198 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (57)] Waiting until timeout for monitored process [2024-11-23 02:09:23,258 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2024-11-23 02:09:23,259 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-23 02:09:23,260 INFO L255 TraceCheckSpWp]: Trace formula consists of 226 conjuncts, 72 conjuncts are in the unsatisfiable core [2024-11-23 02:09:23,262 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-23 02:09:23,391 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2024-11-23 02:09:23,518 INFO L134 CoverageAnalysis]: Checked inductivity of 61 backedges. 27 proven. 30 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-11-23 02:09:23,518 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-23 02:09:23,758 INFO L349 Elim1Store]: treesize reduction 10, result has 47.4 percent of original size [2024-11-23 02:09:23,758 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 145 treesize of output 125 [2024-11-23 02:09:24,054 INFO L134 CoverageAnalysis]: Checked inductivity of 61 backedges. 4 proven. 55 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-11-23 02:09:24,055 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1103809945] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-23 02:09:24,055 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-23 02:09:24,055 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 16, 18] total 40 [2024-11-23 02:09:24,055 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1053112184] [2024-11-23 02:09:24,055 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-23 02:09:24,371 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-23 02:09:24,371 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 40 interpolants. [2024-11-23 02:09:24,372 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=146, Invalid=1414, Unknown=0, NotChecked=0, Total=1560 [2024-11-23 02:09:24,372 INFO L87 Difference]: Start difference. First operand 71 states and 85 transitions. cyclomatic complexity: 19 Second operand has 40 states, 40 states have (on average 1.925) internal successors, (77), 40 states have internal predecessors, (77), 0 states have call successors, (0), 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-11-23 02:09:25,479 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-23 02:09:25,479 INFO L93 Difference]: Finished difference Result 167 states and 197 transitions. [2024-11-23 02:09:25,479 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 167 states and 197 transitions. [2024-11-23 02:09:25,480 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 86 [2024-11-23 02:09:25,481 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 167 states to 161 states and 191 transitions. [2024-11-23 02:09:25,481 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 108 [2024-11-23 02:09:25,481 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 115 [2024-11-23 02:09:25,481 INFO L73 IsDeterministic]: Start isDeterministic. Operand 161 states and 191 transitions. [2024-11-23 02:09:25,482 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-23 02:09:25,482 INFO L218 hiAutomatonCegarLoop]: Abstraction has 161 states and 191 transitions. [2024-11-23 02:09:25,482 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 161 states and 191 transitions. [2024-11-23 02:09:25,486 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 161 to 96. [2024-11-23 02:09:25,486 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 96 states, 96 states have (on average 1.2395833333333333) internal successors, (119), 95 states have internal predecessors, (119), 0 states have call successors, (0), 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-11-23 02:09:25,487 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 96 states to 96 states and 119 transitions. [2024-11-23 02:09:25,489 INFO L240 hiAutomatonCegarLoop]: Abstraction has 96 states and 119 transitions. [2024-11-23 02:09:25,490 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 31 states. [2024-11-23 02:09:25,490 INFO L425 stractBuchiCegarLoop]: Abstraction has 96 states and 119 transitions. [2024-11-23 02:09:25,491 INFO L332 stractBuchiCegarLoop]: ======== Iteration 9 ============ [2024-11-23 02:09:25,491 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 96 states and 119 transitions. [2024-11-23 02:09:25,491 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 56 [2024-11-23 02:09:25,493 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-23 02:09:25,493 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-23 02:09:25,494 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [3, 3, 2, 2, 1, 1, 1, 1, 1, 1] [2024-11-23 02:09:25,494 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [5, 5, 4, 3, 2, 1, 1, 1, 1, 1, 1] [2024-11-23 02:09:25,494 INFO L745 eck$LassoCheckResult]: Stem: 1611#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 1612#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~ret9#1.base, main_#t~ret9#1.offset, main_~in_len~0#1, main_~in~0#1.base, main_~in~0#1.offset;havoc main_#t~nondet7#1;main_~in_len~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; 1613#L531 assume !(main_~in_len~0#1 < 1);call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~in_len~0#1 % 18446744073709551616);main_~in~0#1.base, main_~in~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call write~int#0(0, main_~in~0#1.base, main_~in~0#1.offset + (main_~in_len~0#1 - 1), 1);assume { :begin_inline_basename } true;basename_#in~path#1.base, basename_#in~path#1.offset := main_~in~0#1.base, main_~in~0#1.offset;havoc basename_#res#1.base, basename_#res#1.offset;havoc basename_#t~ret5#1.base, basename_#t~ret5#1.offset, basename_#t~mem6#1, basename_~path#1.base, basename_~path#1.offset, basename_~c~0#1.base, basename_~c~0#1.offset;basename_~path#1.base, basename_~path#1.offset := basename_#in~path#1.base, basename_#in~path#1.offset;havoc basename_~c~0#1.base, basename_~c~0#1.offset; 1614#L517 assume { :begin_inline_strrchr } true;strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1 := basename_~path#1.base, basename_~path#1.offset, 47;havoc strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_#in~t#1.base, strrchr_#in~t#1.offset;strrchr_~c#1 := strrchr_#in~c#1;havoc strrchr_~ch~0#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := 0, 0;strrchr_~ch~0#1 := (if strrchr_~c#1 % 256 <= 127 then strrchr_~c#1 % 256 else strrchr_~c#1 % 256 - 256); 1653#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 1652#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 1651#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 1650#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 1649#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 1648#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 1628#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 1647#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 1646#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 1626#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 1627#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 1623#L511-3 assume 0 == strrchr_#t~mem3#1;havoc strrchr_#t~mem3#1;strrchr_#res#1.base, strrchr_#res#1.offset := strrchr_~l~0#1.base, strrchr_~l~0#1.offset; 1622#strrchr_returnLabel#1 [2024-11-23 02:09:25,494 INFO L747 eck$LassoCheckResult]: Loop: 1622#strrchr_returnLabel#1 basename_#t~ret5#1.base, basename_#t~ret5#1.offset := strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;havoc strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1;assume { :end_inline_strrchr } true;basename_~c~0#1.base, basename_~c~0#1.offset := basename_#t~ret5#1.base, basename_#t~ret5#1.offset; 1615#L518 assume !(basename_~c~0#1.base == 0 && basename_~c~0#1.offset == 0);havoc basename_#t~ret5#1.base, basename_#t~ret5#1.offset;call basename_#t~mem6#1 := read~int#0(basename_~c~0#1.base, 1 + basename_~c~0#1.offset, 1); 1616#L519 assume 0 == basename_#t~mem6#1;havoc basename_#t~mem6#1; 1617#L520 assume !(basename_~c~0#1.base == basename_~path#1.base && basename_~c~0#1.offset == basename_~path#1.offset);call write~int#0(0, basename_~c~0#1.base, basename_~c~0#1.offset, 1); 1618#L517 assume { :begin_inline_strrchr } true;strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1 := basename_~path#1.base, basename_~path#1.offset, 47;havoc strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_#in~t#1.base, strrchr_#in~t#1.offset;strrchr_~c#1 := strrchr_#in~c#1;havoc strrchr_~ch~0#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := 0, 0;strrchr_~ch~0#1 := (if strrchr_~c#1 % 256 <= 127 then strrchr_~c#1 % 256 else strrchr_~c#1 % 256 - 256); 1608#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 1609#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 1696#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 1695#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 1694#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 1667#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 1668#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 1693#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 1692#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 1665#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 1605#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 1606#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 1690#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 1688#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 1630#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 1686#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 1634#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 1629#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 1631#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 1687#L511-3 assume 0 == strrchr_#t~mem3#1;havoc strrchr_#t~mem3#1;strrchr_#res#1.base, strrchr_#res#1.offset := strrchr_~l~0#1.base, strrchr_~l~0#1.offset; 1622#strrchr_returnLabel#1 [2024-11-23 02:09:25,495 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:09:25,495 INFO L85 PathProgramCache]: Analyzing trace with hash -1893527011, now seen corresponding path program 2 times [2024-11-23 02:09:25,495 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:09:25,495 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [850539222] [2024-11-23 02:09:25,495 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-11-23 02:09:25,495 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:09:25,509 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2024-11-23 02:09:25,509 INFO L228 tOrderPrioritization]: Conjunction of SSA is sat [2024-11-23 02:09:25,509 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-23 02:09:25,515 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:09:25,519 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-23 02:09:25,523 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:09:25,524 INFO L85 PathProgramCache]: Analyzing trace with hash -1248060886, now seen corresponding path program 3 times [2024-11-23 02:09:25,524 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:09:25,524 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1997276086] [2024-11-23 02:09:25,524 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2024-11-23 02:09:25,524 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:09:25,535 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 5 check-sat command(s) [2024-11-23 02:09:25,535 INFO L228 tOrderPrioritization]: Conjunction of SSA is sat [2024-11-23 02:09:25,535 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-23 02:09:25,540 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:09:25,542 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-23 02:09:25,542 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:09:25,542 INFO L85 PathProgramCache]: Analyzing trace with hash -545890418, now seen corresponding path program 3 times [2024-11-23 02:09:25,543 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:09:25,543 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [3638305] [2024-11-23 02:09:25,543 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2024-11-23 02:09:25,543 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:09:25,561 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 5 check-sat command(s) [2024-11-23 02:09:25,561 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-23 02:09:25,936 INFO L134 CoverageAnalysis]: Checked inductivity of 113 backedges. 61 proven. 40 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2024-11-23 02:09:25,936 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-23 02:09:25,936 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [3638305] [2024-11-23 02:09:25,936 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [3638305] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-23 02:09:25,936 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [429770963] [2024-11-23 02:09:25,936 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2024-11-23 02:09:25,936 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-23 02:09:25,937 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:25,938 INFO L229 MonitoredProcess]: Starting monitored process 58 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-23 02:09:25,939 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (58)] Waiting until timeout for monitored process [2024-11-23 02:09:26,022 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 5 check-sat command(s) [2024-11-23 02:09:26,022 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-23 02:09:26,024 INFO L255 TraceCheckSpWp]: Trace formula consists of 267 conjuncts, 67 conjuncts are in the unsatisfiable core [2024-11-23 02:09:26,026 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-23 02:09:26,124 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 11 [2024-11-23 02:09:26,206 INFO L134 CoverageAnalysis]: Checked inductivity of 113 backedges. 49 proven. 58 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2024-11-23 02:09:26,206 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-23 02:09:26,327 INFO L349 Elim1Store]: treesize reduction 4, result has 69.2 percent of original size [2024-11-23 02:09:26,327 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 44 treesize of output 41 [2024-11-23 02:09:26,453 INFO L134 CoverageAnalysis]: Checked inductivity of 113 backedges. 49 proven. 58 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2024-11-23 02:09:26,453 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [429770963] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-23 02:09:26,453 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-23 02:09:26,453 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 15, 14] total 31 [2024-11-23 02:09:26,453 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [880953904] [2024-11-23 02:09:26,454 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-23 02:09:26,897 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-23 02:09:26,898 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 31 interpolants. [2024-11-23 02:09:26,898 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=94, Invalid=836, Unknown=0, NotChecked=0, Total=930 [2024-11-23 02:09:26,898 INFO L87 Difference]: Start difference. First operand 96 states and 119 transitions. cyclomatic complexity: 30 Second operand has 31 states, 31 states have (on average 2.6451612903225805) internal successors, (82), 31 states have internal predecessors, (82), 0 states have call successors, (0), 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-11-23 02:09:27,174 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-23 02:09:27,174 INFO L93 Difference]: Finished difference Result 94 states and 112 transitions. [2024-11-23 02:09:27,174 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 94 states and 112 transitions. [2024-11-23 02:09:27,175 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 29 [2024-11-23 02:09:27,175 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 94 states to 67 states and 81 transitions. [2024-11-23 02:09:27,175 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 39 [2024-11-23 02:09:27,176 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 39 [2024-11-23 02:09:27,176 INFO L73 IsDeterministic]: Start isDeterministic. Operand 67 states and 81 transitions. [2024-11-23 02:09:27,176 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-23 02:09:27,176 INFO L218 hiAutomatonCegarLoop]: Abstraction has 67 states and 81 transitions. [2024-11-23 02:09:27,176 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states and 81 transitions. [2024-11-23 02:09:27,177 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 41. [2024-11-23 02:09:27,178 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 41 states have (on average 1.2439024390243902) internal successors, (51), 40 states have internal predecessors, (51), 0 states have call successors, (0), 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-11-23 02:09:27,178 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 51 transitions. [2024-11-23 02:09:27,178 INFO L240 hiAutomatonCegarLoop]: Abstraction has 41 states and 51 transitions. [2024-11-23 02:09:27,178 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2024-11-23 02:09:27,178 INFO L425 stractBuchiCegarLoop]: Abstraction has 41 states and 51 transitions. [2024-11-23 02:09:27,178 INFO L332 stractBuchiCegarLoop]: ======== Iteration 10 ============ [2024-11-23 02:09:27,178 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 41 states and 51 transitions. [2024-11-23 02:09:27,179 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 21 [2024-11-23 02:09:27,179 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-23 02:09:27,179 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-23 02:09:27,179 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [4, 4, 3, 3, 1, 1, 1, 1, 1, 1] [2024-11-23 02:09:27,179 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [4, 4, 3, 3, 1, 1, 1, 1, 1, 1, 1] [2024-11-23 02:09:27,180 INFO L745 eck$LassoCheckResult]: Stem: 2086#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 2087#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~ret9#1.base, main_#t~ret9#1.offset, main_~in_len~0#1, main_~in~0#1.base, main_~in~0#1.offset;havoc main_#t~nondet7#1;main_~in_len~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; 2088#L531 assume !(main_~in_len~0#1 < 1);call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~in_len~0#1 % 18446744073709551616);main_~in~0#1.base, main_~in~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call write~int#0(0, main_~in~0#1.base, main_~in~0#1.offset + (main_~in_len~0#1 - 1), 1);assume { :begin_inline_basename } true;basename_#in~path#1.base, basename_#in~path#1.offset := main_~in~0#1.base, main_~in~0#1.offset;havoc basename_#res#1.base, basename_#res#1.offset;havoc basename_#t~ret5#1.base, basename_#t~ret5#1.offset, basename_#t~mem6#1, basename_~path#1.base, basename_~path#1.offset, basename_~c~0#1.base, basename_~c~0#1.offset;basename_~path#1.base, basename_~path#1.offset := basename_#in~path#1.base, basename_#in~path#1.offset;havoc basename_~c~0#1.base, basename_~c~0#1.offset; 2089#L517 assume { :begin_inline_strrchr } true;strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1 := basename_~path#1.base, basename_~path#1.offset, 47;havoc strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_#in~t#1.base, strrchr_#in~t#1.offset;strrchr_~c#1 := strrchr_#in~c#1;havoc strrchr_~ch~0#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := 0, 0;strrchr_~ch~0#1 := (if strrchr_~c#1 % 256 <= 127 then strrchr_~c#1 % 256 else strrchr_~c#1 % 256 - 256); 2083#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2084#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 2117#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2113#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 2085#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2079#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 2080#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2082#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 2096#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2111#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 2104#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2109#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 2107#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2103#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 2105#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2098#L511-3 assume 0 == strrchr_#t~mem3#1;havoc strrchr_#t~mem3#1;strrchr_#res#1.base, strrchr_#res#1.offset := strrchr_~l~0#1.base, strrchr_~l~0#1.offset; 2097#strrchr_returnLabel#1 [2024-11-23 02:09:27,180 INFO L747 eck$LassoCheckResult]: Loop: 2097#strrchr_returnLabel#1 basename_#t~ret5#1.base, basename_#t~ret5#1.offset := strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;havoc strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1;assume { :end_inline_strrchr } true;basename_~c~0#1.base, basename_~c~0#1.offset := basename_#t~ret5#1.base, basename_#t~ret5#1.offset; 2090#L518 assume !(basename_~c~0#1.base == 0 && basename_~c~0#1.offset == 0);havoc basename_#t~ret5#1.base, basename_#t~ret5#1.offset;call basename_#t~mem6#1 := read~int#0(basename_~c~0#1.base, 1 + basename_~c~0#1.offset, 1); 2091#L519 assume 0 == basename_#t~mem6#1;havoc basename_#t~mem6#1; 2092#L520 assume !(basename_~c~0#1.base == basename_~path#1.base && basename_~c~0#1.offset == basename_~path#1.offset);call write~int#0(0, basename_~c~0#1.base, basename_~c~0#1.offset, 1); 2093#L517 assume { :begin_inline_strrchr } true;strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1 := basename_~path#1.base, basename_~path#1.offset, 47;havoc strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_#in~t#1.base, strrchr_#in~t#1.offset;strrchr_~c#1 := strrchr_#in~c#1;havoc strrchr_~ch~0#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := 0, 0;strrchr_~ch~0#1 := (if strrchr_~c#1 % 256 <= 127 then strrchr_~c#1 % 256 else strrchr_~c#1 % 256 - 256); 2116#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2115#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 2114#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2094#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 2095#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2077#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 2078#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2081#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 2112#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2110#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 2102#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2108#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 2106#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2101#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 2099#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2100#L511-3 assume 0 == strrchr_#t~mem3#1;havoc strrchr_#t~mem3#1;strrchr_#res#1.base, strrchr_#res#1.offset := strrchr_~l~0#1.base, strrchr_~l~0#1.offset; 2097#strrchr_returnLabel#1 [2024-11-23 02:09:27,180 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:09:27,180 INFO L85 PathProgramCache]: Analyzing trace with hash -1195844343, now seen corresponding path program 3 times [2024-11-23 02:09:27,180 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:09:27,180 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [932269924] [2024-11-23 02:09:27,180 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2024-11-23 02:09:27,180 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:09:27,194 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2024-11-23 02:09:27,194 INFO L228 tOrderPrioritization]: Conjunction of SSA is sat [2024-11-23 02:09:27,194 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-23 02:09:27,199 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:09:27,201 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-23 02:09:27,202 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:09:27,202 INFO L85 PathProgramCache]: Analyzing trace with hash 179046334, now seen corresponding path program 4 times [2024-11-23 02:09:27,202 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:09:27,202 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2118517320] [2024-11-23 02:09:27,202 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2024-11-23 02:09:27,202 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:09:27,212 INFO L227 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2024-11-23 02:09:27,212 INFO L228 tOrderPrioritization]: Conjunction of SSA is sat [2024-11-23 02:09:27,212 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-23 02:09:27,216 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:09:27,217 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-23 02:09:27,218 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:09:27,218 INFO L85 PathProgramCache]: Analyzing trace with hash 456990646, now seen corresponding path program 4 times [2024-11-23 02:09:27,218 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:09:27,218 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [89230915] [2024-11-23 02:09:27,218 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2024-11-23 02:09:27,218 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:09:27,229 INFO L227 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2024-11-23 02:09:27,230 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-23 02:09:27,656 INFO L134 CoverageAnalysis]: Checked inductivity of 113 backedges. 39 proven. 72 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-11-23 02:09:27,656 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-23 02:09:27,656 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [89230915] [2024-11-23 02:09:27,656 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [89230915] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-23 02:09:27,657 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [96905869] [2024-11-23 02:09:27,657 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2024-11-23 02:09:27,657 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-23 02:09:27,657 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:27,659 INFO L229 MonitoredProcess]: Starting monitored process 59 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-23 02:09:27,660 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (59)] Waiting until timeout for monitored process [2024-11-23 02:09:27,738 INFO L227 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2024-11-23 02:09:27,738 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-23 02:09:27,740 INFO L255 TraceCheckSpWp]: Trace formula consists of 267 conjuncts, 79 conjuncts are in the unsatisfiable core [2024-11-23 02:09:27,742 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-23 02:09:27,848 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2024-11-23 02:09:27,964 INFO L134 CoverageAnalysis]: Checked inductivity of 113 backedges. 39 proven. 70 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-11-23 02:09:27,964 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-23 02:09:28,239 INFO L349 Elim1Store]: treesize reduction 10, result has 47.4 percent of original size [2024-11-23 02:09:28,239 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 145 treesize of output 125 [2024-11-23 02:09:28,510 INFO L134 CoverageAnalysis]: Checked inductivity of 113 backedges. 8 proven. 103 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-11-23 02:09:28,510 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [96905869] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-23 02:09:28,510 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-23 02:09:28,510 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 17, 18] total 39 [2024-11-23 02:09:28,510 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2075026881] [2024-11-23 02:09:28,510 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-23 02:09:28,898 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-23 02:09:28,898 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 39 interpolants. [2024-11-23 02:09:28,898 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=129, Invalid=1353, Unknown=0, NotChecked=0, Total=1482 [2024-11-23 02:09:28,899 INFO L87 Difference]: Start difference. First operand 41 states and 51 transitions. cyclomatic complexity: 13 Second operand has 39 states, 39 states have (on average 2.2564102564102564) internal successors, (88), 39 states have internal predecessors, (88), 0 states have call successors, (0), 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-11-23 02:09:30,037 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-23 02:09:30,037 INFO L93 Difference]: Finished difference Result 169 states and 201 transitions. [2024-11-23 02:09:30,037 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 169 states and 201 transitions. [2024-11-23 02:09:30,038 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 117 [2024-11-23 02:09:30,038 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 169 states to 169 states and 201 transitions. [2024-11-23 02:09:30,039 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 133 [2024-11-23 02:09:30,039 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 133 [2024-11-23 02:09:30,039 INFO L73 IsDeterministic]: Start isDeterministic. Operand 169 states and 201 transitions. [2024-11-23 02:09:30,039 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-23 02:09:30,039 INFO L218 hiAutomatonCegarLoop]: Abstraction has 169 states and 201 transitions. [2024-11-23 02:09:30,039 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 169 states and 201 transitions. [2024-11-23 02:09:30,046 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 169 to 98. [2024-11-23 02:09:30,046 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 98 states, 98 states have (on average 1.2244897959183674) internal successors, (120), 97 states have internal predecessors, (120), 0 states have call successors, (0), 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-11-23 02:09:30,047 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 98 states to 98 states and 120 transitions. [2024-11-23 02:09:30,047 INFO L240 hiAutomatonCegarLoop]: Abstraction has 98 states and 120 transitions. [2024-11-23 02:09:30,050 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 39 states. [2024-11-23 02:09:30,050 INFO L425 stractBuchiCegarLoop]: Abstraction has 98 states and 120 transitions. [2024-11-23 02:09:30,050 INFO L332 stractBuchiCegarLoop]: ======== Iteration 11 ============ [2024-11-23 02:09:30,050 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 98 states and 120 transitions. [2024-11-23 02:09:30,051 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 68 [2024-11-23 02:09:30,051 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-23 02:09:30,051 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-23 02:09:30,051 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [4, 4, 3, 3, 1, 1, 1, 1, 1, 1] [2024-11-23 02:09:30,051 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [5, 5, 4, 3, 2, 1, 1, 1, 1, 1, 1] [2024-11-23 02:09:30,051 INFO L745 eck$LassoCheckResult]: Stem: 2639#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 2640#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~ret9#1.base, main_#t~ret9#1.offset, main_~in_len~0#1, main_~in~0#1.base, main_~in~0#1.offset;havoc main_#t~nondet7#1;main_~in_len~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; 2641#L531 assume !(main_~in_len~0#1 < 1);call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~in_len~0#1 % 18446744073709551616);main_~in~0#1.base, main_~in~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call write~int#0(0, main_~in~0#1.base, main_~in~0#1.offset + (main_~in_len~0#1 - 1), 1);assume { :begin_inline_basename } true;basename_#in~path#1.base, basename_#in~path#1.offset := main_~in~0#1.base, main_~in~0#1.offset;havoc basename_#res#1.base, basename_#res#1.offset;havoc basename_#t~ret5#1.base, basename_#t~ret5#1.offset, basename_#t~mem6#1, basename_~path#1.base, basename_~path#1.offset, basename_~c~0#1.base, basename_~c~0#1.offset;basename_~path#1.base, basename_~path#1.offset := basename_#in~path#1.base, basename_#in~path#1.offset;havoc basename_~c~0#1.base, basename_~c~0#1.offset; 2642#L517 assume { :begin_inline_strrchr } true;strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1 := basename_~path#1.base, basename_~path#1.offset, 47;havoc strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_#in~t#1.base, strrchr_#in~t#1.offset;strrchr_~c#1 := strrchr_#in~c#1;havoc strrchr_~ch~0#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := 0, 0;strrchr_~ch~0#1 := (if strrchr_~c#1 % 256 <= 127 then strrchr_~c#1 % 256 else strrchr_~c#1 % 256 - 256); 2674#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2673#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 2672#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2670#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 2638#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2635#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 2636#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2717#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 2713#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2663#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 2662#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2660#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 2661#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2703#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 2702#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2652#L511-3 assume 0 == strrchr_#t~mem3#1;havoc strrchr_#t~mem3#1;strrchr_#res#1.base, strrchr_#res#1.offset := strrchr_~l~0#1.base, strrchr_~l~0#1.offset; 2651#strrchr_returnLabel#1 [2024-11-23 02:09:30,051 INFO L747 eck$LassoCheckResult]: Loop: 2651#strrchr_returnLabel#1 basename_#t~ret5#1.base, basename_#t~ret5#1.offset := strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;havoc strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1;assume { :end_inline_strrchr } true;basename_~c~0#1.base, basename_~c~0#1.offset := basename_#t~ret5#1.base, basename_#t~ret5#1.offset; 2643#L518 assume !(basename_~c~0#1.base == 0 && basename_~c~0#1.offset == 0);havoc basename_#t~ret5#1.base, basename_#t~ret5#1.offset;call basename_#t~mem6#1 := read~int#0(basename_~c~0#1.base, 1 + basename_~c~0#1.offset, 1); 2644#L519 assume 0 == basename_#t~mem6#1;havoc basename_#t~mem6#1; 2645#L520 assume !(basename_~c~0#1.base == basename_~path#1.base && basename_~c~0#1.offset == basename_~path#1.offset);call write~int#0(0, basename_~c~0#1.base, basename_~c~0#1.offset, 1); 2646#L517 assume { :begin_inline_strrchr } true;strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1 := basename_~path#1.base, basename_~path#1.offset, 47;havoc strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_#in~t#1.base, strrchr_#in~t#1.offset;strrchr_~c#1 := strrchr_#in~c#1;havoc strrchr_~ch~0#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := 0, 0;strrchr_~ch~0#1 := (if strrchr_~c#1 % 256 <= 127 then strrchr_~c#1 % 256 else strrchr_~c#1 % 256 - 256); 2695#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2694#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 2693#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2692#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 2691#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2690#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 2689#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2688#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 2687#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2686#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 2685#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2684#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 2683#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2681#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 2680#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2679#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 2678#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2655#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 2653#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2654#L511-3 assume 0 == strrchr_#t~mem3#1;havoc strrchr_#t~mem3#1;strrchr_#res#1.base, strrchr_#res#1.offset := strrchr_~l~0#1.base, strrchr_~l~0#1.offset; 2651#strrchr_returnLabel#1 [2024-11-23 02:09:30,053 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:09:30,053 INFO L85 PathProgramCache]: Analyzing trace with hash -1195844343, now seen corresponding path program 4 times [2024-11-23 02:09:30,053 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:09:30,053 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1211211983] [2024-11-23 02:09:30,053 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2024-11-23 02:09:30,053 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:09:30,062 INFO L227 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2024-11-23 02:09:30,062 INFO L228 tOrderPrioritization]: Conjunction of SSA is sat [2024-11-23 02:09:30,062 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-23 02:09:30,066 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:09:30,068 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-23 02:09:30,069 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:09:30,069 INFO L85 PathProgramCache]: Analyzing trace with hash 31802792, now seen corresponding path program 5 times [2024-11-23 02:09:30,069 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:09:30,069 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1182609841] [2024-11-23 02:09:30,069 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2024-11-23 02:09:30,069 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:09:30,080 INFO L227 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 5 check-sat command(s) [2024-11-23 02:09:30,081 INFO L228 tOrderPrioritization]: Conjunction of SSA is sat [2024-11-23 02:09:30,081 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-23 02:09:30,084 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:09:30,088 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-23 02:09:30,089 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:09:30,089 INFO L85 PathProgramCache]: Analyzing trace with hash -1279680096, now seen corresponding path program 5 times [2024-11-23 02:09:30,089 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:09:30,089 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [740442447] [2024-11-23 02:09:30,090 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2024-11-23 02:09:30,090 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:09:30,115 INFO L227 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 5 check-sat command(s) [2024-11-23 02:09:30,115 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-23 02:09:30,474 INFO L134 CoverageAnalysis]: Checked inductivity of 145 backedges. 57 proven. 84 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-11-23 02:09:30,474 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-23 02:09:30,474 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [740442447] [2024-11-23 02:09:30,474 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [740442447] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-23 02:09:30,474 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [283222143] [2024-11-23 02:09:30,474 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2024-11-23 02:09:30,474 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-23 02:09:30,474 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:30,476 INFO L229 MonitoredProcess]: Starting monitored process 60 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-23 02:09:30,477 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (60)] Waiting until timeout for monitored process [2024-11-23 02:09:30,566 INFO L227 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 5 check-sat command(s) [2024-11-23 02:09:30,566 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-23 02:09:30,568 INFO L255 TraceCheckSpWp]: Trace formula consists of 285 conjuncts, 67 conjuncts are in the unsatisfiable core [2024-11-23 02:09:30,570 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-23 02:09:30,650 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2024-11-23 02:09:30,695 INFO L134 CoverageAnalysis]: Checked inductivity of 145 backedges. 57 proven. 82 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2024-11-23 02:09:30,695 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-23 02:09:30,727 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 25 [2024-11-23 02:09:30,848 INFO L134 CoverageAnalysis]: Checked inductivity of 145 backedges. 57 proven. 82 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2024-11-23 02:09:30,849 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [283222143] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-23 02:09:30,849 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-23 02:09:30,849 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 14, 13] total 25 [2024-11-23 02:09:30,849 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [333979812] [2024-11-23 02:09:30,849 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-23 02:09:31,287 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-23 02:09:31,287 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2024-11-23 02:09:31,287 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=67, Invalid=533, Unknown=0, NotChecked=0, Total=600 [2024-11-23 02:09:31,287 INFO L87 Difference]: Start difference. First operand 98 states and 120 transitions. cyclomatic complexity: 27 Second operand has 25 states, 25 states have (on average 3.16) internal successors, (79), 25 states have internal predecessors, (79), 0 states have call successors, (0), 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-11-23 02:09:31,486 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-23 02:09:31,486 INFO L93 Difference]: Finished difference Result 84 states and 101 transitions. [2024-11-23 02:09:31,486 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 84 states and 101 transitions. [2024-11-23 02:09:31,486 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 33 [2024-11-23 02:09:31,487 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 84 states to 65 states and 79 transitions. [2024-11-23 02:09:31,487 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 42 [2024-11-23 02:09:31,487 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 42 [2024-11-23 02:09:31,487 INFO L73 IsDeterministic]: Start isDeterministic. Operand 65 states and 79 transitions. [2024-11-23 02:09:31,487 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-23 02:09:31,487 INFO L218 hiAutomatonCegarLoop]: Abstraction has 65 states and 79 transitions. [2024-11-23 02:09:31,487 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 65 states and 79 transitions. [2024-11-23 02:09:31,488 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 65 to 49. [2024-11-23 02:09:31,488 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 49 states, 49 states have (on average 1.2448979591836735) internal successors, (61), 48 states have internal predecessors, (61), 0 states have call successors, (0), 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-11-23 02:09:31,489 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 61 transitions. [2024-11-23 02:09:31,489 INFO L240 hiAutomatonCegarLoop]: Abstraction has 49 states and 61 transitions. [2024-11-23 02:09:31,489 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2024-11-23 02:09:31,489 INFO L425 stractBuchiCegarLoop]: Abstraction has 49 states and 61 transitions. [2024-11-23 02:09:31,489 INFO L332 stractBuchiCegarLoop]: ======== Iteration 12 ============ [2024-11-23 02:09:31,489 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 49 states and 61 transitions. [2024-11-23 02:09:31,490 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 25 [2024-11-23 02:09:31,490 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-23 02:09:31,490 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-23 02:09:31,490 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [5, 5, 4, 4, 1, 1, 1, 1, 1, 1] [2024-11-23 02:09:31,490 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [5, 5, 4, 4, 1, 1, 1, 1, 1, 1, 1] [2024-11-23 02:09:31,490 INFO L745 eck$LassoCheckResult]: Stem: 3125#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 3126#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~ret9#1.base, main_#t~ret9#1.offset, main_~in_len~0#1, main_~in~0#1.base, main_~in~0#1.offset;havoc main_#t~nondet7#1;main_~in_len~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; 3127#L531 assume !(main_~in_len~0#1 < 1);call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~in_len~0#1 % 18446744073709551616);main_~in~0#1.base, main_~in~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call write~int#0(0, main_~in~0#1.base, main_~in~0#1.offset + (main_~in_len~0#1 - 1), 1);assume { :begin_inline_basename } true;basename_#in~path#1.base, basename_#in~path#1.offset := main_~in~0#1.base, main_~in~0#1.offset;havoc basename_#res#1.base, basename_#res#1.offset;havoc basename_#t~ret5#1.base, basename_#t~ret5#1.offset, basename_#t~mem6#1, basename_~path#1.base, basename_~path#1.offset, basename_~c~0#1.base, basename_~c~0#1.offset;basename_~path#1.base, basename_~path#1.offset := basename_#in~path#1.base, basename_#in~path#1.offset;havoc basename_~c~0#1.base, basename_~c~0#1.offset; 3128#L517 assume { :begin_inline_strrchr } true;strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1 := basename_~path#1.base, basename_~path#1.offset, 47;havoc strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_#in~t#1.base, strrchr_#in~t#1.offset;strrchr_~c#1 := strrchr_#in~c#1;havoc strrchr_~ch~0#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := 0, 0;strrchr_~ch~0#1 := (if strrchr_~c#1 % 256 <= 127 then strrchr_~c#1 % 256 else strrchr_~c#1 % 256 - 256); 3157#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 3156#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 3153#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 3135#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 3123#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 3124#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 3154#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 3155#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 3158#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 3117#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 3118#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 3120#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 3152#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 3150#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 3143#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 3148#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 3146#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 3142#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 3144#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 3137#L511-3 assume 0 == strrchr_#t~mem3#1;havoc strrchr_#t~mem3#1;strrchr_#res#1.base, strrchr_#res#1.offset := strrchr_~l~0#1.base, strrchr_~l~0#1.offset; 3136#strrchr_returnLabel#1 [2024-11-23 02:09:31,491 INFO L747 eck$LassoCheckResult]: Loop: 3136#strrchr_returnLabel#1 basename_#t~ret5#1.base, basename_#t~ret5#1.offset := strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;havoc strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1;assume { :end_inline_strrchr } true;basename_~c~0#1.base, basename_~c~0#1.offset := basename_#t~ret5#1.base, basename_#t~ret5#1.offset; 3129#L518 assume !(basename_~c~0#1.base == 0 && basename_~c~0#1.offset == 0);havoc basename_#t~ret5#1.base, basename_#t~ret5#1.offset;call basename_#t~mem6#1 := read~int#0(basename_~c~0#1.base, 1 + basename_~c~0#1.offset, 1); 3130#L519 assume 0 == basename_#t~mem6#1;havoc basename_#t~mem6#1; 3131#L520 assume !(basename_~c~0#1.base == basename_~path#1.base && basename_~c~0#1.offset == basename_~path#1.offset);call write~int#0(0, basename_~c~0#1.base, basename_~c~0#1.offset, 1); 3132#L517 assume { :begin_inline_strrchr } true;strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1 := basename_~path#1.base, basename_~path#1.offset, 47;havoc strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_#in~t#1.base, strrchr_#in~t#1.offset;strrchr_~c#1 := strrchr_#in~c#1;havoc strrchr_~ch~0#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := 0, 0;strrchr_~ch~0#1 := (if strrchr_~c#1 % 256 <= 127 then strrchr_~c#1 % 256 else strrchr_~c#1 % 256 - 256); 3121#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 3122#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 3161#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 3133#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 3134#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 3163#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 3159#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 3160#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 3162#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 3115#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 3116#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 3119#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 3151#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 3149#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 3141#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 3147#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 3145#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 3140#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 3138#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 3139#L511-3 assume 0 == strrchr_#t~mem3#1;havoc strrchr_#t~mem3#1;strrchr_#res#1.base, strrchr_#res#1.offset := strrchr_~l~0#1.base, strrchr_~l~0#1.offset; 3136#strrchr_returnLabel#1 [2024-11-23 02:09:31,491 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:09:31,491 INFO L85 PathProgramCache]: Analyzing trace with hash -2019525261, now seen corresponding path program 5 times [2024-11-23 02:09:31,491 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:09:31,491 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [759719969] [2024-11-23 02:09:31,491 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2024-11-23 02:09:31,491 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:09:31,499 INFO L227 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 5 check-sat command(s) [2024-11-23 02:09:31,499 INFO L228 tOrderPrioritization]: Conjunction of SSA is sat [2024-11-23 02:09:31,499 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-23 02:09:31,503 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:09:31,505 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-23 02:09:31,506 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:09:31,506 INFO L85 PathProgramCache]: Analyzing trace with hash -669261786, now seen corresponding path program 6 times [2024-11-23 02:09:31,506 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:09:31,506 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2063082345] [2024-11-23 02:09:31,506 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2024-11-23 02:09:31,506 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:09:31,513 INFO L227 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2024-11-23 02:09:31,513 INFO L228 tOrderPrioritization]: Conjunction of SSA is sat [2024-11-23 02:09:31,513 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-23 02:09:31,516 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:09:31,518 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-23 02:09:31,518 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:09:31,519 INFO L85 PathProgramCache]: Analyzing trace with hash 349767412, now seen corresponding path program 6 times [2024-11-23 02:09:31,519 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:09:31,519 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [708992514] [2024-11-23 02:09:31,519 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2024-11-23 02:09:31,519 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:09:31,531 INFO L227 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2024-11-23 02:09:31,531 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-23 02:09:32,036 INFO L134 CoverageAnalysis]: Checked inductivity of 181 backedges. 3 proven. 158 refuted. 0 times theorem prover too weak. 20 trivial. 0 not checked. [2024-11-23 02:09:32,037 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-23 02:09:32,037 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [708992514] [2024-11-23 02:09:32,037 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [708992514] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-23 02:09:32,037 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [708609089] [2024-11-23 02:09:32,037 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2024-11-23 02:09:32,037 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-23 02:09:32,037 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:32,039 INFO L229 MonitoredProcess]: Starting monitored process 61 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-23 02:09:32,040 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (61)] Waiting until timeout for monitored process [2024-11-23 02:09:32,114 INFO L227 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2024-11-23 02:09:32,115 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-23 02:09:32,116 INFO L255 TraceCheckSpWp]: Trace formula consists of 221 conjuncts, 81 conjuncts are in the unsatisfiable core [2024-11-23 02:09:32,119 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-23 02:09:32,122 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 1 [2024-11-23 02:09:32,354 INFO L349 Elim1Store]: treesize reduction 40, result has 46.7 percent of original size [2024-11-23 02:09:32,354 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 3 case distinctions, treesize of input 27 treesize of output 49 [2024-11-23 02:09:32,487 INFO L134 CoverageAnalysis]: Checked inductivity of 181 backedges. 93 proven. 62 refuted. 0 times theorem prover too weak. 26 trivial. 0 not checked. [2024-11-23 02:09:32,488 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-23 02:09:33,184 INFO L134 CoverageAnalysis]: Checked inductivity of 181 backedges. 88 proven. 73 refuted. 0 times theorem prover too weak. 20 trivial. 0 not checked. [2024-11-23 02:09:33,185 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [708609089] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-23 02:09:33,185 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-23 02:09:33,185 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 15, 16] total 39 [2024-11-23 02:09:33,185 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1879066692] [2024-11-23 02:09:33,185 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-23 02:09:33,581 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-23 02:09:33,582 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 39 interpolants. [2024-11-23 02:09:33,582 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=245, Invalid=1237, Unknown=0, NotChecked=0, Total=1482 [2024-11-23 02:09:33,582 INFO L87 Difference]: Start difference. First operand 49 states and 61 transitions. cyclomatic complexity: 15 Second operand has 39 states, 39 states have (on average 2.5641025641025643) internal successors, (100), 39 states have internal predecessors, (100), 0 states have call successors, (0), 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-11-23 02:09:34,293 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-23 02:09:34,293 INFO L93 Difference]: Finished difference Result 112 states and 137 transitions. [2024-11-23 02:09:34,293 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 112 states and 137 transitions. [2024-11-23 02:09:34,294 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 64 [2024-11-23 02:09:34,294 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 112 states to 112 states and 137 transitions. [2024-11-23 02:09:34,294 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 81 [2024-11-23 02:09:34,294 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 81 [2024-11-23 02:09:34,294 INFO L73 IsDeterministic]: Start isDeterministic. Operand 112 states and 137 transitions. [2024-11-23 02:09:34,295 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-23 02:09:34,295 INFO L218 hiAutomatonCegarLoop]: Abstraction has 112 states and 137 transitions. [2024-11-23 02:09:34,295 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 112 states and 137 transitions. [2024-11-23 02:09:34,296 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 112 to 88. [2024-11-23 02:09:34,297 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 88 states, 88 states have (on average 1.2386363636363635) internal successors, (109), 87 states have internal predecessors, (109), 0 states have call successors, (0), 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-11-23 02:09:34,297 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 109 transitions. [2024-11-23 02:09:34,297 INFO L240 hiAutomatonCegarLoop]: Abstraction has 88 states and 109 transitions. [2024-11-23 02:09:34,300 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 32 states. [2024-11-23 02:09:34,301 INFO L425 stractBuchiCegarLoop]: Abstraction has 88 states and 109 transitions. [2024-11-23 02:09:34,301 INFO L332 stractBuchiCegarLoop]: ======== Iteration 13 ============ [2024-11-23 02:09:34,301 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 88 states and 109 transitions. [2024-11-23 02:09:34,301 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 50 [2024-11-23 02:09:34,301 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-23 02:09:34,301 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-23 02:09:34,302 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [5, 5, 4, 3, 2, 1, 1, 1, 1, 1] [2024-11-23 02:09:34,302 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [5, 5, 4, 4, 1, 1, 1, 1, 1, 1, 1] [2024-11-23 02:09:34,302 INFO L745 eck$LassoCheckResult]: Stem: 3661#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 3662#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~ret9#1.base, main_#t~ret9#1.offset, main_~in_len~0#1, main_~in~0#1.base, main_~in~0#1.offset;havoc main_#t~nondet7#1;main_~in_len~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; 3663#L531 assume !(main_~in_len~0#1 < 1);call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~in_len~0#1 % 18446744073709551616);main_~in~0#1.base, main_~in~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call write~int#0(0, main_~in~0#1.base, main_~in~0#1.offset + (main_~in_len~0#1 - 1), 1);assume { :begin_inline_basename } true;basename_#in~path#1.base, basename_#in~path#1.offset := main_~in~0#1.base, main_~in~0#1.offset;havoc basename_#res#1.base, basename_#res#1.offset;havoc basename_#t~ret5#1.base, basename_#t~ret5#1.offset, basename_#t~mem6#1, basename_~path#1.base, basename_~path#1.offset, basename_~c~0#1.base, basename_~c~0#1.offset;basename_~path#1.base, basename_~path#1.offset := basename_#in~path#1.base, basename_#in~path#1.offset;havoc basename_~c~0#1.base, basename_~c~0#1.offset; 3664#L517 assume { :begin_inline_strrchr } true;strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1 := basename_~path#1.base, basename_~path#1.offset, 47;havoc strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_#in~t#1.base, strrchr_#in~t#1.offset;strrchr_~c#1 := strrchr_#in~c#1;havoc strrchr_~ch~0#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := 0, 0;strrchr_~ch~0#1 := (if strrchr_~c#1 % 256 <= 127 then strrchr_~c#1 % 256 else strrchr_~c#1 % 256 - 256); 3700#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 3699#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 3697#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 3698#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 3703#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 3701#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 3695#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 3696#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 3659#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 3660#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 3730#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 3735#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 3690#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 3691#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 3725#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 3729#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 3728#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 3724#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 3723#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 3674#L511-3 assume 0 == strrchr_#t~mem3#1;havoc strrchr_#t~mem3#1;strrchr_#res#1.base, strrchr_#res#1.offset := strrchr_~l~0#1.base, strrchr_~l~0#1.offset; 3673#strrchr_returnLabel#1 [2024-11-23 02:09:34,302 INFO L747 eck$LassoCheckResult]: Loop: 3673#strrchr_returnLabel#1 basename_#t~ret5#1.base, basename_#t~ret5#1.offset := strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;havoc strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1;assume { :end_inline_strrchr } true;basename_~c~0#1.base, basename_~c~0#1.offset := basename_#t~ret5#1.base, basename_#t~ret5#1.offset; 3665#L518 assume !(basename_~c~0#1.base == 0 && basename_~c~0#1.offset == 0);havoc basename_#t~ret5#1.base, basename_#t~ret5#1.offset;call basename_#t~mem6#1 := read~int#0(basename_~c~0#1.base, 1 + basename_~c~0#1.offset, 1); 3666#L519 assume 0 == basename_#t~mem6#1;havoc basename_#t~mem6#1; 3667#L520 assume !(basename_~c~0#1.base == basename_~path#1.base && basename_~c~0#1.offset == basename_~path#1.offset);call write~int#0(0, basename_~c~0#1.base, basename_~c~0#1.offset, 1); 3668#L517 assume { :begin_inline_strrchr } true;strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1 := basename_~path#1.base, basename_~path#1.offset, 47;havoc strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_#in~t#1.base, strrchr_#in~t#1.offset;strrchr_~c#1 := strrchr_#in~c#1;havoc strrchr_~ch~0#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := 0, 0;strrchr_~ch~0#1 := (if strrchr_~c#1 % 256 <= 127 then strrchr_~c#1 % 256 else strrchr_~c#1 % 256 - 256); 3717#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 3716#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 3715#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 3714#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 3713#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 3710#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 3711#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 3739#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 3738#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 3737#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 3733#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 3736#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 3734#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 3732#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 3727#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 3731#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 3686#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 3726#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 3722#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 3685#L511-3 assume 0 == strrchr_#t~mem3#1;havoc strrchr_#t~mem3#1;strrchr_#res#1.base, strrchr_#res#1.offset := strrchr_~l~0#1.base, strrchr_~l~0#1.offset; 3673#strrchr_returnLabel#1 [2024-11-23 02:09:34,303 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:09:34,303 INFO L85 PathProgramCache]: Analyzing trace with hash -739661583, now seen corresponding path program 6 times [2024-11-23 02:09:34,303 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:09:34,303 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1431877197] [2024-11-23 02:09:34,303 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2024-11-23 02:09:34,303 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:09:34,313 INFO L227 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2024-11-23 02:09:34,313 INFO L228 tOrderPrioritization]: Conjunction of SSA is sat [2024-11-23 02:09:34,313 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-23 02:09:34,317 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:09:34,319 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-23 02:09:34,319 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:09:34,320 INFO L85 PathProgramCache]: Analyzing trace with hash -669261786, now seen corresponding path program 7 times [2024-11-23 02:09:34,320 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:09:34,320 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [138897743] [2024-11-23 02:09:34,320 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2024-11-23 02:09:34,320 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:09:34,328 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:09:34,329 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-23 02:09:34,332 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:09:34,334 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-23 02:09:34,335 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:09:34,335 INFO L85 PathProgramCache]: Analyzing trace with hash 1721574710, now seen corresponding path program 7 times [2024-11-23 02:09:34,335 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:09:34,335 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [810032481] [2024-11-23 02:09:34,335 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2024-11-23 02:09:34,335 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:09:34,352 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-23 02:09:34,872 INFO L134 CoverageAnalysis]: Checked inductivity of 181 backedges. 51 proven. 128 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-11-23 02:09:34,872 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-23 02:09:34,872 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [810032481] [2024-11-23 02:09:34,872 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [810032481] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-23 02:09:34,872 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2085616581] [2024-11-23 02:09:34,873 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2024-11-23 02:09:34,873 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-23 02:09:34,873 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:34,875 INFO L229 MonitoredProcess]: Starting monitored process 62 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-23 02:09:34,875 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (62)] Waiting until timeout for monitored process [2024-11-23 02:09:34,979 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-23 02:09:34,982 INFO L255 TraceCheckSpWp]: Trace formula consists of 313 conjuncts, 77 conjuncts are in the unsatisfiable core [2024-11-23 02:09:34,986 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-23 02:09:35,207 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 9 [2024-11-23 02:09:35,449 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-11-23 02:09:35,449 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 27 treesize of output 11 [2024-11-23 02:09:35,473 INFO L134 CoverageAnalysis]: Checked inductivity of 181 backedges. 51 proven. 126 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-11-23 02:09:35,473 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-23 02:09:35,608 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-11-23 02:09:35,608 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 119 treesize of output 95 [2024-11-23 02:09:35,935 INFO L134 CoverageAnalysis]: Checked inductivity of 181 backedges. 51 proven. 126 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-11-23 02:09:35,935 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2085616581] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-23 02:09:35,935 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-23 02:09:35,935 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [20, 18, 18] total 48 [2024-11-23 02:09:35,935 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [101357393] [2024-11-23 02:09:35,935 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-23 02:09:36,380 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-23 02:09:36,380 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 48 interpolants. [2024-11-23 02:09:36,381 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=157, Invalid=2099, Unknown=0, NotChecked=0, Total=2256 [2024-11-23 02:09:36,381 INFO L87 Difference]: Start difference. First operand 88 states and 109 transitions. cyclomatic complexity: 27 Second operand has 48 states, 48 states have (on average 2.4375) internal successors, (117), 48 states have internal predecessors, (117), 0 states have call successors, (0), 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-11-23 02:09:38,312 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-23 02:09:38,312 INFO L93 Difference]: Finished difference Result 352 states and 420 transitions. [2024-11-23 02:09:38,312 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 352 states and 420 transitions. [2024-11-23 02:09:38,315 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 260 [2024-11-23 02:09:38,316 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 352 states to 352 states and 420 transitions. [2024-11-23 02:09:38,316 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 284 [2024-11-23 02:09:38,316 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 284 [2024-11-23 02:09:38,317 INFO L73 IsDeterministic]: Start isDeterministic. Operand 352 states and 420 transitions. [2024-11-23 02:09:38,317 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-23 02:09:38,317 INFO L218 hiAutomatonCegarLoop]: Abstraction has 352 states and 420 transitions. [2024-11-23 02:09:38,317 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 352 states and 420 transitions. [2024-11-23 02:09:38,328 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 352 to 230. [2024-11-23 02:09:38,329 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 230 states, 230 states have (on average 1.2260869565217392) internal successors, (282), 229 states have internal predecessors, (282), 0 states have call successors, (0), 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-11-23 02:09:38,329 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 230 states to 230 states and 282 transitions. [2024-11-23 02:09:38,330 INFO L240 hiAutomatonCegarLoop]: Abstraction has 230 states and 282 transitions. [2024-11-23 02:09:38,333 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 49 states. [2024-11-23 02:09:38,334 INFO L425 stractBuchiCegarLoop]: Abstraction has 230 states and 282 transitions. [2024-11-23 02:09:38,334 INFO L332 stractBuchiCegarLoop]: ======== Iteration 14 ============ [2024-11-23 02:09:38,334 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 230 states and 282 transitions. [2024-11-23 02:09:38,335 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 172 [2024-11-23 02:09:38,336 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-23 02:09:38,336 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-23 02:09:38,337 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [5, 5, 4, 3, 2, 1, 1, 1, 1, 1] [2024-11-23 02:09:38,339 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [6, 6, 5, 4, 2, 1, 1, 1, 1, 1, 1] [2024-11-23 02:09:38,339 INFO L745 eck$LassoCheckResult]: Stem: 4521#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 4522#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~ret9#1.base, main_#t~ret9#1.offset, main_~in_len~0#1, main_~in~0#1.base, main_~in~0#1.offset;havoc main_#t~nondet7#1;main_~in_len~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; 4523#L531 assume !(main_~in_len~0#1 < 1);call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~in_len~0#1 % 18446744073709551616);main_~in~0#1.base, main_~in~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call write~int#0(0, main_~in~0#1.base, main_~in~0#1.offset + (main_~in_len~0#1 - 1), 1);assume { :begin_inline_basename } true;basename_#in~path#1.base, basename_#in~path#1.offset := main_~in~0#1.base, main_~in~0#1.offset;havoc basename_#res#1.base, basename_#res#1.offset;havoc basename_#t~ret5#1.base, basename_#t~ret5#1.offset, basename_#t~mem6#1, basename_~path#1.base, basename_~path#1.offset, basename_~c~0#1.base, basename_~c~0#1.offset;basename_~path#1.base, basename_~path#1.offset := basename_#in~path#1.base, basename_#in~path#1.offset;havoc basename_~c~0#1.base, basename_~c~0#1.offset; 4524#L517 assume { :begin_inline_strrchr } true;strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1 := basename_~path#1.base, basename_~path#1.offset, 47;havoc strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_#in~t#1.base, strrchr_#in~t#1.offset;strrchr_~c#1 := strrchr_#in~c#1;havoc strrchr_~ch~0#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := 0, 0;strrchr_~ch~0#1 := (if strrchr_~c#1 % 256 <= 127 then strrchr_~c#1 % 256 else strrchr_~c#1 % 256 - 256); 4558#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4557#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 4555#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4556#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 4561#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4559#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 4560#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4713#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 4712#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4711#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 4710#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4709#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 4708#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4707#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 4680#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4682#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 4681#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4679#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 4678#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4537#L511-3 assume 0 == strrchr_#t~mem3#1;havoc strrchr_#t~mem3#1;strrchr_#res#1.base, strrchr_#res#1.offset := strrchr_~l~0#1.base, strrchr_~l~0#1.offset; 4538#strrchr_returnLabel#1 [2024-11-23 02:09:38,339 INFO L747 eck$LassoCheckResult]: Loop: 4538#strrchr_returnLabel#1 basename_#t~ret5#1.base, basename_#t~ret5#1.offset := strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;havoc strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1;assume { :end_inline_strrchr } true;basename_~c~0#1.base, basename_~c~0#1.offset := basename_#t~ret5#1.base, basename_#t~ret5#1.offset; 4630#L518 assume !(basename_~c~0#1.base == 0 && basename_~c~0#1.offset == 0);havoc basename_#t~ret5#1.base, basename_#t~ret5#1.offset;call basename_#t~mem6#1 := read~int#0(basename_~c~0#1.base, 1 + basename_~c~0#1.offset, 1); 4628#L519 assume 0 == basename_#t~mem6#1;havoc basename_#t~mem6#1; 4623#L520 assume !(basename_~c~0#1.base == basename_~path#1.base && basename_~c~0#1.offset == basename_~path#1.offset);call write~int#0(0, basename_~c~0#1.base, basename_~c~0#1.offset, 1); 4622#L517 assume { :begin_inline_strrchr } true;strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1 := basename_~path#1.base, basename_~path#1.offset, 47;havoc strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_#in~t#1.base, strrchr_#in~t#1.offset;strrchr_~c#1 := strrchr_#in~c#1;havoc strrchr_~ch~0#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := 0, 0;strrchr_~ch~0#1 := (if strrchr_~c#1 % 256 <= 127 then strrchr_~c#1 % 256 else strrchr_~c#1 % 256 - 256); 4621#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4620#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 4618#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4616#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 4614#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4611#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 4609#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4610#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 4605#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4606#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 4740#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4739#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 4738#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4723#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 4721#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4684#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 4683#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4590#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 4591#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4586#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 4587#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4579#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 4580#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4574#L511-3 assume 0 == strrchr_#t~mem3#1;havoc strrchr_#t~mem3#1;strrchr_#res#1.base, strrchr_#res#1.offset := strrchr_~l~0#1.base, strrchr_~l~0#1.offset; 4538#strrchr_returnLabel#1 [2024-11-23 02:09:38,340 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:09:38,340 INFO L85 PathProgramCache]: Analyzing trace with hash -739661583, now seen corresponding path program 7 times [2024-11-23 02:09:38,340 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:09:38,340 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2058864700] [2024-11-23 02:09:38,340 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2024-11-23 02:09:38,341 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:09:38,350 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:09:38,351 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-23 02:09:38,357 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:09:38,361 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-23 02:09:38,362 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:09:38,362 INFO L85 PathProgramCache]: Analyzing trace with hash 1768073744, now seen corresponding path program 8 times [2024-11-23 02:09:38,362 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:09:38,363 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [606348313] [2024-11-23 02:09:38,363 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-11-23 02:09:38,363 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:09:38,373 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2024-11-23 02:09:38,374 INFO L228 tOrderPrioritization]: Conjunction of SSA is sat [2024-11-23 02:09:38,375 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-23 02:09:38,380 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:09:38,383 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-23 02:09:38,385 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:09:38,385 INFO L85 PathProgramCache]: Analyzing trace with hash -1667569888, now seen corresponding path program 8 times [2024-11-23 02:09:38,385 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:09:38,385 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1146334810] [2024-11-23 02:09:38,385 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-11-23 02:09:38,385 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:09:38,404 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2024-11-23 02:09:38,405 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-23 02:09:38,813 INFO L134 CoverageAnalysis]: Checked inductivity of 221 backedges. 73 proven. 144 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-11-23 02:09:38,813 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-23 02:09:38,813 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1146334810] [2024-11-23 02:09:38,814 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1146334810] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-23 02:09:38,814 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1757142327] [2024-11-23 02:09:38,814 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-11-23 02:09:38,814 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-23 02:09:38,814 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:38,816 INFO L229 MonitoredProcess]: Starting monitored process 63 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-23 02:09:38,817 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (63)] Waiting until timeout for monitored process [2024-11-23 02:09:38,902 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2024-11-23 02:09:38,902 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-23 02:09:38,904 INFO L255 TraceCheckSpWp]: Trace formula consists of 331 conjuncts, 75 conjuncts are in the unsatisfiable core [2024-11-23 02:09:38,906 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-23 02:09:39,049 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 9 [2024-11-23 02:09:39,095 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 7 treesize of output 3 [2024-11-23 02:09:39,095 INFO L134 CoverageAnalysis]: Checked inductivity of 221 backedges. 73 proven. 142 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2024-11-23 02:09:39,095 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-23 02:09:39,118 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 25 [2024-11-23 02:09:39,179 INFO L134 CoverageAnalysis]: Checked inductivity of 221 backedges. 73 proven. 142 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2024-11-23 02:09:39,180 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1757142327] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-23 02:09:39,180 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-23 02:09:39,180 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 15, 15] total 26 [2024-11-23 02:09:39,180 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [683857638] [2024-11-23 02:09:39,180 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-23 02:09:39,777 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-23 02:09:39,777 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2024-11-23 02:09:39,777 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=69, Invalid=581, Unknown=0, NotChecked=0, Total=650 [2024-11-23 02:09:39,777 INFO L87 Difference]: Start difference. First operand 230 states and 282 transitions. cyclomatic complexity: 62 Second operand has 26 states, 26 states have (on average 3.1153846153846154) internal successors, (81), 26 states have internal predecessors, (81), 0 states have call successors, (0), 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-11-23 02:09:40,058 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-23 02:09:40,058 INFO L93 Difference]: Finished difference Result 182 states and 218 transitions. [2024-11-23 02:09:40,058 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 182 states and 218 transitions. [2024-11-23 02:09:40,059 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 74 [2024-11-23 02:09:40,060 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 182 states to 136 states and 165 transitions. [2024-11-23 02:09:40,060 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 85 [2024-11-23 02:09:40,060 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 85 [2024-11-23 02:09:40,060 INFO L73 IsDeterministic]: Start isDeterministic. Operand 136 states and 165 transitions. [2024-11-23 02:09:40,060 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-23 02:09:40,060 INFO L218 hiAutomatonCegarLoop]: Abstraction has 136 states and 165 transitions. [2024-11-23 02:09:40,060 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 136 states and 165 transitions. [2024-11-23 02:09:40,062 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 136 to 104. [2024-11-23 02:09:40,062 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 104 states, 104 states have (on average 1.2403846153846154) internal successors, (129), 103 states have internal predecessors, (129), 0 states have call successors, (0), 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-11-23 02:09:40,063 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 104 states to 104 states and 129 transitions. [2024-11-23 02:09:40,063 INFO L240 hiAutomatonCegarLoop]: Abstraction has 104 states and 129 transitions. [2024-11-23 02:09:40,063 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2024-11-23 02:09:40,063 INFO L425 stractBuchiCegarLoop]: Abstraction has 104 states and 129 transitions. [2024-11-23 02:09:40,063 INFO L332 stractBuchiCegarLoop]: ======== Iteration 15 ============ [2024-11-23 02:09:40,063 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 104 states and 129 transitions. [2024-11-23 02:09:40,064 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 58 [2024-11-23 02:09:40,064 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-23 02:09:40,064 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-23 02:09:40,065 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [6, 6, 5, 4, 2, 1, 1, 1, 1, 1] [2024-11-23 02:09:40,065 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [6, 6, 5, 5, 1, 1, 1, 1, 1, 1, 1] [2024-11-23 02:09:40,065 INFO L745 eck$LassoCheckResult]: Stem: 5288#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 5289#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~ret9#1.base, main_#t~ret9#1.offset, main_~in_len~0#1, main_~in~0#1.base, main_~in~0#1.offset;havoc main_#t~nondet7#1;main_~in_len~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; 5290#L531 assume !(main_~in_len~0#1 < 1);call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~in_len~0#1 % 18446744073709551616);main_~in~0#1.base, main_~in~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call write~int#0(0, main_~in~0#1.base, main_~in~0#1.offset + (main_~in_len~0#1 - 1), 1);assume { :begin_inline_basename } true;basename_#in~path#1.base, basename_#in~path#1.offset := main_~in~0#1.base, main_~in~0#1.offset;havoc basename_#res#1.base, basename_#res#1.offset;havoc basename_#t~ret5#1.base, basename_#t~ret5#1.offset, basename_#t~mem6#1, basename_~path#1.base, basename_~path#1.offset, basename_~c~0#1.base, basename_~c~0#1.offset;basename_~path#1.base, basename_~path#1.offset := basename_#in~path#1.base, basename_#in~path#1.offset;havoc basename_~c~0#1.base, basename_~c~0#1.offset; 5291#L517 assume { :begin_inline_strrchr } true;strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1 := basename_~path#1.base, basename_~path#1.offset, 47;havoc strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_#in~t#1.base, strrchr_#in~t#1.offset;strrchr_~c#1 := strrchr_#in~c#1;havoc strrchr_~ch~0#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := 0, 0;strrchr_~ch~0#1 := (if strrchr_~c#1 % 256 <= 127 then strrchr_~c#1 % 256 else strrchr_~c#1 % 256 - 256); 5335#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 5334#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 5331#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 5332#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 5342#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 5340#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 5333#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 5298#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 5286#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 5287#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 5336#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 5339#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 5337#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 5338#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 5325#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 5365#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 5363#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 5324#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 5311#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 5318#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 5315#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 5310#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 5312#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 5320#L511-3 assume 0 == strrchr_#t~mem3#1;havoc strrchr_#t~mem3#1;strrchr_#res#1.base, strrchr_#res#1.offset := strrchr_~l~0#1.base, strrchr_~l~0#1.offset; 5300#strrchr_returnLabel#1 [2024-11-23 02:09:40,065 INFO L747 eck$LassoCheckResult]: Loop: 5300#strrchr_returnLabel#1 basename_#t~ret5#1.base, basename_#t~ret5#1.offset := strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;havoc strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1;assume { :end_inline_strrchr } true;basename_~c~0#1.base, basename_~c~0#1.offset := basename_#t~ret5#1.base, basename_#t~ret5#1.offset; 5301#L518 assume !(basename_~c~0#1.base == 0 && basename_~c~0#1.offset == 0);havoc basename_#t~ret5#1.base, basename_#t~ret5#1.offset;call basename_#t~mem6#1 := read~int#0(basename_~c~0#1.base, 1 + basename_~c~0#1.offset, 1); 5302#L519 assume 0 == basename_#t~mem6#1;havoc basename_#t~mem6#1; 5303#L520 assume !(basename_~c~0#1.base == basename_~path#1.base && basename_~c~0#1.offset == basename_~path#1.offset);call write~int#0(0, basename_~c~0#1.base, basename_~c~0#1.offset, 1); 5299#L517 assume { :begin_inline_strrchr } true;strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1 := basename_~path#1.base, basename_~path#1.offset, 47;havoc strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_#in~t#1.base, strrchr_#in~t#1.offset;strrchr_~c#1 := strrchr_#in~c#1;havoc strrchr_~ch~0#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := 0, 0;strrchr_~ch~0#1 := (if strrchr_~c#1 % 256 <= 127 then strrchr_~c#1 % 256 else strrchr_~c#1 % 256 - 256); 5284#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 5285#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 5369#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 5296#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 5297#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 5345#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 5343#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 5344#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 5368#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 5367#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 5366#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 5364#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 5361#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 5362#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 5360#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 5329#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 5330#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 5359#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 5309#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 5358#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 5353#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 5308#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 5306#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 5307#L511-3 assume 0 == strrchr_#t~mem3#1;havoc strrchr_#t~mem3#1;strrchr_#res#1.base, strrchr_#res#1.offset := strrchr_~l~0#1.base, strrchr_~l~0#1.offset; 5300#strrchr_returnLabel#1 [2024-11-23 02:09:40,065 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:09:40,066 INFO L85 PathProgramCache]: Analyzing trace with hash -1002891941, now seen corresponding path program 8 times [2024-11-23 02:09:40,066 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:09:40,066 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1818892535] [2024-11-23 02:09:40,066 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-11-23 02:09:40,066 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:09:40,076 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2024-11-23 02:09:40,076 INFO L228 tOrderPrioritization]: Conjunction of SSA is sat [2024-11-23 02:09:40,076 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-23 02:09:40,081 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:09:40,084 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-23 02:09:40,084 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:09:40,085 INFO L85 PathProgramCache]: Analyzing trace with hash 1067009166, now seen corresponding path program 9 times [2024-11-23 02:09:40,085 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:09:40,085 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1886793679] [2024-11-23 02:09:40,085 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2024-11-23 02:09:40,085 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:09:40,094 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 6 check-sat command(s) [2024-11-23 02:09:40,094 INFO L228 tOrderPrioritization]: Conjunction of SSA is sat [2024-11-23 02:09:40,095 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-23 02:09:40,100 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:09:40,102 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-23 02:09:40,103 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:09:40,103 INFO L85 PathProgramCache]: Analyzing trace with hash -1731680908, now seen corresponding path program 9 times [2024-11-23 02:09:40,103 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:09:40,103 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1523962996] [2024-11-23 02:09:40,103 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2024-11-23 02:09:40,103 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:09:40,121 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2024-11-23 02:09:40,121 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-23 02:09:40,534 INFO L134 CoverageAnalysis]: Checked inductivity of 265 backedges. 143 proven. 57 refuted. 0 times theorem prover too weak. 65 trivial. 0 not checked. [2024-11-23 02:09:40,535 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-23 02:09:40,535 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1523962996] [2024-11-23 02:09:40,535 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1523962996] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-23 02:09:40,535 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [689331504] [2024-11-23 02:09:40,535 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2024-11-23 02:09:40,535 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-23 02:09:40,535 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:40,537 INFO L229 MonitoredProcess]: Starting monitored process 64 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-23 02:09:40,538 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (64)] Waiting until timeout for monitored process [2024-11-23 02:09:40,672 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2024-11-23 02:09:40,673 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-23 02:09:40,674 INFO L255 TraceCheckSpWp]: Trace formula consists of 249 conjuncts, 58 conjuncts are in the unsatisfiable core [2024-11-23 02:09:40,676 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-23 02:09:40,680 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 1 [2024-11-23 02:09:40,866 INFO L190 IndexEqualityManager]: detected not equals via solver [2024-11-23 02:09:40,867 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 12 [2024-11-23 02:09:40,895 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 8 [2024-11-23 02:09:40,913 INFO L134 CoverageAnalysis]: Checked inductivity of 265 backedges. 172 proven. 26 refuted. 0 times theorem prover too weak. 67 trivial. 0 not checked. [2024-11-23 02:09:40,913 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-23 02:09:41,078 INFO L134 CoverageAnalysis]: Checked inductivity of 265 backedges. 148 proven. 50 refuted. 0 times theorem prover too weak. 67 trivial. 0 not checked. [2024-11-23 02:09:41,079 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [689331504] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-23 02:09:41,079 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-23 02:09:41,079 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 13, 14] total 28 [2024-11-23 02:09:41,079 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [341343214] [2024-11-23 02:09:41,079 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-23 02:09:41,579 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-23 02:09:41,579 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 28 interpolants. [2024-11-23 02:09:41,579 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=130, Invalid=626, Unknown=0, NotChecked=0, Total=756 [2024-11-23 02:09:41,579 INFO L87 Difference]: Start difference. First operand 104 states and 129 transitions. cyclomatic complexity: 31 Second operand has 28 states, 28 states have (on average 2.392857142857143) internal successors, (67), 28 states have internal predecessors, (67), 0 states have call successors, (0), 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-11-23 02:09:41,808 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-23 02:09:41,809 INFO L93 Difference]: Finished difference Result 234 states and 285 transitions. [2024-11-23 02:09:41,809 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 234 states and 285 transitions. [2024-11-23 02:09:41,810 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 130 [2024-11-23 02:09:41,811 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 234 states to 234 states and 285 transitions. [2024-11-23 02:09:41,811 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 146 [2024-11-23 02:09:41,811 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 146 [2024-11-23 02:09:41,811 INFO L73 IsDeterministic]: Start isDeterministic. Operand 234 states and 285 transitions. [2024-11-23 02:09:41,811 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-23 02:09:41,811 INFO L218 hiAutomatonCegarLoop]: Abstraction has 234 states and 285 transitions. [2024-11-23 02:09:41,812 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 234 states and 285 transitions. [2024-11-23 02:09:41,814 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 234 to 202. [2024-11-23 02:09:41,814 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 202 states, 202 states have (on average 1.2326732673267327) internal successors, (249), 201 states have internal predecessors, (249), 0 states have call successors, (0), 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-11-23 02:09:41,815 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 202 states to 202 states and 249 transitions. [2024-11-23 02:09:41,815 INFO L240 hiAutomatonCegarLoop]: Abstraction has 202 states and 249 transitions. [2024-11-23 02:09:41,818 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2024-11-23 02:09:41,819 INFO L425 stractBuchiCegarLoop]: Abstraction has 202 states and 249 transitions. [2024-11-23 02:09:41,819 INFO L332 stractBuchiCegarLoop]: ======== Iteration 16 ============ [2024-11-23 02:09:41,819 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 202 states and 249 transitions. [2024-11-23 02:09:41,820 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 116 [2024-11-23 02:09:41,820 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-23 02:09:41,820 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-23 02:09:41,821 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [6, 6, 5, 3, 3, 1, 1, 1, 1, 1] [2024-11-23 02:09:41,821 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [6, 6, 5, 5, 1, 1, 1, 1, 1, 1, 1] [2024-11-23 02:09:41,821 INFO L745 eck$LassoCheckResult]: Stem: 6007#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 6008#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~ret9#1.base, main_#t~ret9#1.offset, main_~in_len~0#1, main_~in~0#1.base, main_~in~0#1.offset;havoc main_#t~nondet7#1;main_~in_len~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; 6009#L531 assume !(main_~in_len~0#1 < 1);call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~in_len~0#1 % 18446744073709551616);main_~in~0#1.base, main_~in~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call write~int#0(0, main_~in~0#1.base, main_~in~0#1.offset + (main_~in_len~0#1 - 1), 1);assume { :begin_inline_basename } true;basename_#in~path#1.base, basename_#in~path#1.offset := main_~in~0#1.base, main_~in~0#1.offset;havoc basename_#res#1.base, basename_#res#1.offset;havoc basename_#t~ret5#1.base, basename_#t~ret5#1.offset, basename_#t~mem6#1, basename_~path#1.base, basename_~path#1.offset, basename_~c~0#1.base, basename_~c~0#1.offset;basename_~path#1.base, basename_~path#1.offset := basename_#in~path#1.base, basename_#in~path#1.offset;havoc basename_~c~0#1.base, basename_~c~0#1.offset; 6010#L517 assume { :begin_inline_strrchr } true;strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1 := basename_~path#1.base, basename_~path#1.offset, 47;havoc strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_#in~t#1.base, strrchr_#in~t#1.offset;strrchr_~c#1 := strrchr_#in~c#1;havoc strrchr_~ch~0#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := 0, 0;strrchr_~ch~0#1 := (if strrchr_~c#1 % 256 <= 127 then strrchr_~c#1 % 256 else strrchr_~c#1 % 256 - 256); 6143#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 6142#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 6141#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 6140#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 6139#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 6137#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 6136#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 6135#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 6133#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 6131#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 6129#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 6127#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 6125#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 6123#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 6109#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 6120#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 6118#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 6108#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 6096#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 6104#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 6102#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 6095#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 6091#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 6085#L511-3 assume 0 == strrchr_#t~mem3#1;havoc strrchr_#t~mem3#1;strrchr_#res#1.base, strrchr_#res#1.offset := strrchr_~l~0#1.base, strrchr_~l~0#1.offset; 6083#strrchr_returnLabel#1 [2024-11-23 02:09:41,821 INFO L747 eck$LassoCheckResult]: Loop: 6083#strrchr_returnLabel#1 basename_#t~ret5#1.base, basename_#t~ret5#1.offset := strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;havoc strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1;assume { :end_inline_strrchr } true;basename_~c~0#1.base, basename_~c~0#1.offset := basename_#t~ret5#1.base, basename_#t~ret5#1.offset; 6081#L518 assume !(basename_~c~0#1.base == 0 && basename_~c~0#1.offset == 0);havoc basename_#t~ret5#1.base, basename_#t~ret5#1.offset;call basename_#t~mem6#1 := read~int#0(basename_~c~0#1.base, 1 + basename_~c~0#1.offset, 1); 6079#L519 assume 0 == basename_#t~mem6#1;havoc basename_#t~mem6#1; 6077#L520 assume !(basename_~c~0#1.base == basename_~path#1.base && basename_~c~0#1.offset == basename_~path#1.offset);call write~int#0(0, basename_~c~0#1.base, basename_~c~0#1.offset, 1); 6075#L517 assume { :begin_inline_strrchr } true;strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1 := basename_~path#1.base, basename_~path#1.offset, 47;havoc strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_#in~t#1.base, strrchr_#in~t#1.offset;strrchr_~c#1 := strrchr_#in~c#1;havoc strrchr_~ch~0#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := 0, 0;strrchr_~ch~0#1 := (if strrchr_~c#1 % 256 <= 127 then strrchr_~c#1 % 256 else strrchr_~c#1 % 256 - 256); 6073#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 6070#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 6068#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 6069#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 6064#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 6065#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 6132#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 6130#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 6128#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 6126#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 6124#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 6122#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 6121#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 6119#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 6111#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 6116#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 6114#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 6110#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 6098#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 6105#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 6087#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 6097#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 6092#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 6086#L511-3 assume 0 == strrchr_#t~mem3#1;havoc strrchr_#t~mem3#1;strrchr_#res#1.base, strrchr_#res#1.offset := strrchr_~l~0#1.base, strrchr_~l~0#1.offset; 6083#strrchr_returnLabel#1 [2024-11-23 02:09:41,822 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:09:41,822 INFO L85 PathProgramCache]: Analyzing trace with hash 802546393, now seen corresponding path program 9 times [2024-11-23 02:09:41,822 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:09:41,822 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1676316734] [2024-11-23 02:09:41,822 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2024-11-23 02:09:41,822 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:09:41,833 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 6 check-sat command(s) [2024-11-23 02:09:41,833 INFO L228 tOrderPrioritization]: Conjunction of SSA is sat [2024-11-23 02:09:41,833 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-23 02:09:41,838 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:09:41,841 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-23 02:09:41,842 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:09:41,842 INFO L85 PathProgramCache]: Analyzing trace with hash 1067009166, now seen corresponding path program 10 times [2024-11-23 02:09:41,842 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:09:41,842 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1399545172] [2024-11-23 02:09:41,842 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2024-11-23 02:09:41,842 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:09:41,855 INFO L227 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2024-11-23 02:09:41,856 INFO L228 tOrderPrioritization]: Conjunction of SSA is sat [2024-11-23 02:09:41,856 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-23 02:09:41,861 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:09:41,866 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-23 02:09:41,866 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:09:41,866 INFO L85 PathProgramCache]: Analyzing trace with hash 1024946358, now seen corresponding path program 10 times [2024-11-23 02:09:41,866 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:09:41,866 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [224202482] [2024-11-23 02:09:41,867 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2024-11-23 02:09:41,867 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:09:41,887 INFO L227 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2024-11-23 02:09:41,888 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-23 02:09:42,484 INFO L134 CoverageAnalysis]: Checked inductivity of 265 backedges. 63 proven. 200 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-11-23 02:09:42,484 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-23 02:09:42,484 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [224202482] [2024-11-23 02:09:42,484 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [224202482] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-23 02:09:42,485 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [870659235] [2024-11-23 02:09:42,485 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2024-11-23 02:09:42,485 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-23 02:09:42,485 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:42,487 INFO L229 MonitoredProcess]: Starting monitored process 65 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-23 02:09:42,488 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (65)] Waiting until timeout for monitored process [2024-11-23 02:09:42,606 INFO L227 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2024-11-23 02:09:42,606 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-23 02:09:42,609 INFO L255 TraceCheckSpWp]: Trace formula consists of 359 conjuncts, 93 conjuncts are in the unsatisfiable core [2024-11-23 02:09:42,616 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-23 02:09:42,868 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2024-11-23 02:09:43,208 INFO L134 CoverageAnalysis]: Checked inductivity of 265 backedges. 63 proven. 198 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-11-23 02:09:43,208 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-23 02:09:43,643 INFO L349 Elim1Store]: treesize reduction 8, result has 68.0 percent of original size [2024-11-23 02:09:43,643 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 145 treesize of output 133 [2024-11-23 02:09:44,090 INFO L134 CoverageAnalysis]: Checked inductivity of 265 backedges. 14 proven. 249 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-11-23 02:09:44,090 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [870659235] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-23 02:09:44,090 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-23 02:09:44,090 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 21, 22] total 61 [2024-11-23 02:09:44,091 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1743529078] [2024-11-23 02:09:44,091 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-23 02:09:44,620 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-23 02:09:44,621 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 61 interpolants. [2024-11-23 02:09:44,621 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=218, Invalid=3442, Unknown=0, NotChecked=0, Total=3660 [2024-11-23 02:09:44,622 INFO L87 Difference]: Start difference. First operand 202 states and 249 transitions. cyclomatic complexity: 59 Second operand has 61 states, 61 states have (on average 2.5737704918032787) internal successors, (157), 61 states have internal predecessors, (157), 0 states have call successors, (0), 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-11-23 02:09:46,824 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-23 02:09:46,825 INFO L93 Difference]: Finished difference Result 668 states and 806 transitions. [2024-11-23 02:09:46,825 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 668 states and 806 transitions. [2024-11-23 02:09:46,828 INFO L131 ngComponentsAnalysis]: Automaton has 8 accepting balls. 496 [2024-11-23 02:09:46,831 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 668 states to 668 states and 806 transitions. [2024-11-23 02:09:46,831 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 536 [2024-11-23 02:09:46,832 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 536 [2024-11-23 02:09:46,832 INFO L73 IsDeterministic]: Start isDeterministic. Operand 668 states and 806 transitions. [2024-11-23 02:09:46,832 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-23 02:09:46,832 INFO L218 hiAutomatonCegarLoop]: Abstraction has 668 states and 806 transitions. [2024-11-23 02:09:46,833 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 668 states and 806 transitions. [2024-11-23 02:09:46,841 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 668 to 542. [2024-11-23 02:09:46,842 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 542 states, 542 states have (on average 1.2269372693726937) internal successors, (665), 541 states have internal predecessors, (665), 0 states have call successors, (0), 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-11-23 02:09:46,843 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 542 states to 542 states and 665 transitions. [2024-11-23 02:09:46,843 INFO L240 hiAutomatonCegarLoop]: Abstraction has 542 states and 665 transitions. [2024-11-23 02:09:46,843 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 53 states. [2024-11-23 02:09:46,843 INFO L425 stractBuchiCegarLoop]: Abstraction has 542 states and 665 transitions. [2024-11-23 02:09:46,844 INFO L332 stractBuchiCegarLoop]: ======== Iteration 17 ============ [2024-11-23 02:09:46,844 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 542 states and 665 transitions. [2024-11-23 02:09:46,845 INFO L131 ngComponentsAnalysis]: Automaton has 8 accepting balls. 416 [2024-11-23 02:09:46,845 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-23 02:09:46,845 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-23 02:09:46,846 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [6, 6, 5, 3, 3, 1, 1, 1, 1, 1] [2024-11-23 02:09:46,847 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [7, 7, 6, 5, 2, 1, 1, 1, 1, 1, 1] [2024-11-23 02:09:46,847 INFO L745 eck$LassoCheckResult]: Stem: 7363#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 7364#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~ret9#1.base, main_#t~ret9#1.offset, main_~in_len~0#1, main_~in~0#1.base, main_~in~0#1.offset;havoc main_#t~nondet7#1;main_~in_len~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; 7365#L531 assume !(main_~in_len~0#1 < 1);call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~in_len~0#1 % 18446744073709551616);main_~in~0#1.base, main_~in~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call write~int#0(0, main_~in~0#1.base, main_~in~0#1.offset + (main_~in_len~0#1 - 1), 1);assume { :begin_inline_basename } true;basename_#in~path#1.base, basename_#in~path#1.offset := main_~in~0#1.base, main_~in~0#1.offset;havoc basename_#res#1.base, basename_#res#1.offset;havoc basename_#t~ret5#1.base, basename_#t~ret5#1.offset, basename_#t~mem6#1, basename_~path#1.base, basename_~path#1.offset, basename_~c~0#1.base, basename_~c~0#1.offset;basename_~path#1.base, basename_~path#1.offset := basename_#in~path#1.base, basename_#in~path#1.offset;havoc basename_~c~0#1.base, basename_~c~0#1.offset; 7366#L517 assume { :begin_inline_strrchr } true;strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1 := basename_~path#1.base, basename_~path#1.offset, 47;havoc strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_#in~t#1.base, strrchr_#in~t#1.offset;strrchr_~c#1 := strrchr_#in~c#1;havoc strrchr_~ch~0#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := 0, 0;strrchr_~ch~0#1 := (if strrchr_~c#1 % 256 <= 127 then strrchr_~c#1 % 256 else strrchr_~c#1 % 256 - 256); 7413#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 7411#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 7412#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 7407#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 7408#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 7353#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 7354#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 7789#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 7788#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 7787#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 7786#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 7785#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 7784#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 7782#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 7780#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 7779#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 7777#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 7776#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 7385#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 7389#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 7390#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 7383#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 7386#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 7525#L511-3 assume 0 == strrchr_#t~mem3#1;havoc strrchr_#t~mem3#1;strrchr_#res#1.base, strrchr_#res#1.offset := strrchr_~l~0#1.base, strrchr_~l~0#1.offset; 7505#strrchr_returnLabel#1 [2024-11-23 02:09:46,847 INFO L747 eck$LassoCheckResult]: Loop: 7505#strrchr_returnLabel#1 basename_#t~ret5#1.base, basename_#t~ret5#1.offset := strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;havoc strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1;assume { :end_inline_strrchr } true;basename_~c~0#1.base, basename_~c~0#1.offset := basename_#t~ret5#1.base, basename_#t~ret5#1.offset; 7503#L518 assume !(basename_~c~0#1.base == 0 && basename_~c~0#1.offset == 0);havoc basename_#t~ret5#1.base, basename_#t~ret5#1.offset;call basename_#t~mem6#1 := read~int#0(basename_~c~0#1.base, 1 + basename_~c~0#1.offset, 1); 7501#L519 assume 0 == basename_#t~mem6#1;havoc basename_#t~mem6#1; 7499#L520 assume !(basename_~c~0#1.base == basename_~path#1.base && basename_~c~0#1.offset == basename_~path#1.offset);call write~int#0(0, basename_~c~0#1.base, basename_~c~0#1.offset, 1); 7497#L517 assume { :begin_inline_strrchr } true;strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1 := basename_~path#1.base, basename_~path#1.offset, 47;havoc strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_#in~t#1.base, strrchr_#in~t#1.offset;strrchr_~c#1 := strrchr_#in~c#1;havoc strrchr_~ch~0#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := 0, 0;strrchr_~ch~0#1 := (if strrchr_~c#1 % 256 <= 127 then strrchr_~c#1 % 256 else strrchr_~c#1 % 256 - 256); 7495#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 7492#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 7493#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 7484#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 7485#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 7476#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 7477#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 7880#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 7879#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 7878#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 7877#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 7876#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 7875#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 7874#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 7873#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 7872#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 7871#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 7870#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 7869#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 7868#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 7457#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 7458#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 7451#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 7450#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 7448#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 7449#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 7860#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 7857#L511-3 assume 0 == strrchr_#t~mem3#1;havoc strrchr_#t~mem3#1;strrchr_#res#1.base, strrchr_#res#1.offset := strrchr_~l~0#1.base, strrchr_~l~0#1.offset; 7505#strrchr_returnLabel#1 [2024-11-23 02:09:46,848 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:09:46,848 INFO L85 PathProgramCache]: Analyzing trace with hash 802546393, now seen corresponding path program 10 times [2024-11-23 02:09:46,848 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:09:46,848 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1817602492] [2024-11-23 02:09:46,848 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2024-11-23 02:09:46,848 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:09:46,860 INFO L227 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2024-11-23 02:09:46,864 INFO L228 tOrderPrioritization]: Conjunction of SSA is sat [2024-11-23 02:09:46,864 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-23 02:09:46,869 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:09:46,874 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-23 02:09:46,874 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:09:46,875 INFO L85 PathProgramCache]: Analyzing trace with hash 1363647096, now seen corresponding path program 11 times [2024-11-23 02:09:46,875 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:09:46,875 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1520987801] [2024-11-23 02:09:46,875 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2024-11-23 02:09:46,875 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:09:46,885 INFO L227 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 7 check-sat command(s) [2024-11-23 02:09:46,886 INFO L228 tOrderPrioritization]: Conjunction of SSA is sat [2024-11-23 02:09:46,886 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-23 02:09:46,894 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:09:46,898 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-23 02:09:46,898 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:09:46,898 INFO L85 PathProgramCache]: Analyzing trace with hash -838634848, now seen corresponding path program 11 times [2024-11-23 02:09:46,899 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:09:46,899 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [388288819] [2024-11-23 02:09:46,899 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2024-11-23 02:09:46,899 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:09:46,930 INFO L227 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 7 check-sat command(s) [2024-11-23 02:09:46,930 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-23 02:09:47,366 INFO L134 CoverageAnalysis]: Checked inductivity of 313 backedges. 89 proven. 220 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-11-23 02:09:47,366 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-23 02:09:47,367 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [388288819] [2024-11-23 02:09:47,367 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [388288819] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-23 02:09:47,367 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1973461598] [2024-11-23 02:09:47,367 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2024-11-23 02:09:47,367 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-23 02:09:47,367 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:47,371 INFO L229 MonitoredProcess]: Starting monitored process 66 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-23 02:09:47,372 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (66)] Waiting until timeout for monitored process [2024-11-23 02:09:47,483 INFO L227 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 7 check-sat command(s) [2024-11-23 02:09:47,483 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-23 02:09:47,486 INFO L255 TraceCheckSpWp]: Trace formula consists of 377 conjuncts, 79 conjuncts are in the unsatisfiable core [2024-11-23 02:09:47,489 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-23 02:09:47,599 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2024-11-23 02:09:47,675 INFO L134 CoverageAnalysis]: Checked inductivity of 313 backedges. 89 proven. 218 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2024-11-23 02:09:47,675 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-23 02:09:47,717 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 25 [2024-11-23 02:09:47,878 INFO L134 CoverageAnalysis]: Checked inductivity of 313 backedges. 89 proven. 218 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2024-11-23 02:09:47,878 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1973461598] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-23 02:09:47,878 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-23 02:09:47,878 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 18, 17] total 33 [2024-11-23 02:09:47,878 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1225817464] [2024-11-23 02:09:47,878 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-23 02:09:48,535 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-23 02:09:48,535 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 33 interpolants. [2024-11-23 02:09:48,535 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=89, Invalid=967, Unknown=0, NotChecked=0, Total=1056 [2024-11-23 02:09:48,535 INFO L87 Difference]: Start difference. First operand 542 states and 665 transitions. cyclomatic complexity: 143 Second operand has 33 states, 33 states have (on average 3.3636363636363638) internal successors, (111), 33 states have internal predecessors, (111), 0 states have call successors, (0), 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-11-23 02:09:48,929 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-23 02:09:48,929 INFO L93 Difference]: Finished difference Result 406 states and 485 transitions. [2024-11-23 02:09:48,929 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 406 states and 485 transitions. [2024-11-23 02:09:48,931 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 164 [2024-11-23 02:09:48,932 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 406 states to 298 states and 361 transitions. [2024-11-23 02:09:48,932 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 180 [2024-11-23 02:09:48,932 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 180 [2024-11-23 02:09:48,932 INFO L73 IsDeterministic]: Start isDeterministic. Operand 298 states and 361 transitions. [2024-11-23 02:09:48,932 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-23 02:09:48,932 INFO L218 hiAutomatonCegarLoop]: Abstraction has 298 states and 361 transitions. [2024-11-23 02:09:48,932 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 298 states and 361 transitions. [2024-11-23 02:09:48,935 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 298 to 234. [2024-11-23 02:09:48,935 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 234 states, 234 states have (on average 1.235042735042735) internal successors, (289), 233 states have internal predecessors, (289), 0 states have call successors, (0), 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-11-23 02:09:48,936 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 234 states to 234 states and 289 transitions. [2024-11-23 02:09:48,936 INFO L240 hiAutomatonCegarLoop]: Abstraction has 234 states and 289 transitions. [2024-11-23 02:09:48,936 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2024-11-23 02:09:48,936 INFO L425 stractBuchiCegarLoop]: Abstraction has 234 states and 289 transitions. [2024-11-23 02:09:48,936 INFO L332 stractBuchiCegarLoop]: ======== Iteration 18 ============ [2024-11-23 02:09:48,936 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 234 states and 289 transitions. [2024-11-23 02:09:48,937 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 132 [2024-11-23 02:09:48,937 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-23 02:09:48,937 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-23 02:09:48,938 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [7, 7, 6, 4, 3, 1, 1, 1, 1, 1] [2024-11-23 02:09:48,938 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [7, 7, 6, 6, 1, 1, 1, 1, 1, 1, 1] [2024-11-23 02:09:48,938 INFO L745 eck$LassoCheckResult]: Stem: 8721#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 8722#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~ret9#1.base, main_#t~ret9#1.offset, main_~in_len~0#1, main_~in~0#1.base, main_~in~0#1.offset;havoc main_#t~nondet7#1;main_~in_len~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; 8723#L531 assume !(main_~in_len~0#1 < 1);call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~in_len~0#1 % 18446744073709551616);main_~in~0#1.base, main_~in~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call write~int#0(0, main_~in~0#1.base, main_~in~0#1.offset + (main_~in_len~0#1 - 1), 1);assume { :begin_inline_basename } true;basename_#in~path#1.base, basename_#in~path#1.offset := main_~in~0#1.base, main_~in~0#1.offset;havoc basename_#res#1.base, basename_#res#1.offset;havoc basename_#t~ret5#1.base, basename_#t~ret5#1.offset, basename_#t~mem6#1, basename_~path#1.base, basename_~path#1.offset, basename_~c~0#1.base, basename_~c~0#1.offset;basename_~path#1.base, basename_~path#1.offset := basename_#in~path#1.base, basename_#in~path#1.offset;havoc basename_~c~0#1.base, basename_~c~0#1.offset; 8724#L517 assume { :begin_inline_strrchr } true;strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1 := basename_~path#1.base, basename_~path#1.offset, 47;havoc strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_#in~t#1.base, strrchr_#in~t#1.offset;strrchr_~c#1 := strrchr_#in~c#1;havoc strrchr_~ch~0#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := 0, 0;strrchr_~ch~0#1 := (if strrchr_~c#1 % 256 <= 127 then strrchr_~c#1 % 256 else strrchr_~c#1 % 256 - 256); 8770#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 8768#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 8769#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 8791#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 8792#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 8787#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 8788#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 8731#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 8732#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 8771#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 8772#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 8783#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 8784#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 8779#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 8780#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 8775#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 8776#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 8717#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 8713#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 8714#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 8759#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 8760#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 8740#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 8888#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 8886#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 8739#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 8741#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 8884#L511-3 assume 0 == strrchr_#t~mem3#1;havoc strrchr_#t~mem3#1;strrchr_#res#1.base, strrchr_#res#1.offset := strrchr_~l~0#1.base, strrchr_~l~0#1.offset; 8883#strrchr_returnLabel#1 [2024-11-23 02:09:48,938 INFO L747 eck$LassoCheckResult]: Loop: 8883#strrchr_returnLabel#1 basename_#t~ret5#1.base, basename_#t~ret5#1.offset := strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;havoc strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1;assume { :end_inline_strrchr } true;basename_~c~0#1.base, basename_~c~0#1.offset := basename_#t~ret5#1.base, basename_#t~ret5#1.offset; 8882#L518 assume !(basename_~c~0#1.base == 0 && basename_~c~0#1.offset == 0);havoc basename_#t~ret5#1.base, basename_#t~ret5#1.offset;call basename_#t~mem6#1 := read~int#0(basename_~c~0#1.base, 1 + basename_~c~0#1.offset, 1); 8735#L519 assume 0 == basename_#t~mem6#1;havoc basename_#t~mem6#1; 8727#L520 assume !(basename_~c~0#1.base == basename_~path#1.base && basename_~c~0#1.offset == basename_~path#1.offset);call write~int#0(0, basename_~c~0#1.base, basename_~c~0#1.offset, 1); 8728#L517 assume { :begin_inline_strrchr } true;strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1 := basename_~path#1.base, basename_~path#1.offset, 47;havoc strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_#in~t#1.base, strrchr_#in~t#1.offset;strrchr_~c#1 := strrchr_#in~c#1;havoc strrchr_~ch~0#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := 0, 0;strrchr_~ch~0#1 := (if strrchr_~c#1 % 256 <= 127 then strrchr_~c#1 % 256 else strrchr_~c#1 % 256 - 256); 8880#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 8878#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 8879#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 8825#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 8826#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 8818#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 8819#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 8814#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 8815#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 8810#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 8811#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 8806#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 8807#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 8802#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 8803#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 8798#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 8799#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 8794#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 8795#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 8894#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 8892#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 8889#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 8743#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 8749#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 8750#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 8742#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 8737#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 8738#L511-3 assume 0 == strrchr_#t~mem3#1;havoc strrchr_#t~mem3#1;strrchr_#res#1.base, strrchr_#res#1.offset := strrchr_~l~0#1.base, strrchr_~l~0#1.offset; 8883#strrchr_returnLabel#1 [2024-11-23 02:09:48,938 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:09:48,938 INFO L85 PathProgramCache]: Analyzing trace with hash 2049317699, now seen corresponding path program 11 times [2024-11-23 02:09:48,938 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:09:48,939 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1258805840] [2024-11-23 02:09:48,939 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2024-11-23 02:09:48,939 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:09:48,952 INFO L227 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 7 check-sat command(s) [2024-11-23 02:09:48,952 INFO L228 tOrderPrioritization]: Conjunction of SSA is sat [2024-11-23 02:09:48,953 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-23 02:09:48,957 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:09:48,959 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-23 02:09:48,959 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:09:48,960 INFO L85 PathProgramCache]: Analyzing trace with hash 662582518, now seen corresponding path program 12 times [2024-11-23 02:09:48,960 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:09:48,960 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [339176043] [2024-11-23 02:09:48,960 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2024-11-23 02:09:48,960 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:09:48,967 INFO L227 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2024-11-23 02:09:48,967 INFO L228 tOrderPrioritization]: Conjunction of SSA is sat [2024-11-23 02:09:48,967 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-23 02:09:48,971 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:09:48,975 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-23 02:09:48,976 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:09:48,976 INFO L85 PathProgramCache]: Analyzing trace with hash 637012468, now seen corresponding path program 12 times [2024-11-23 02:09:48,976 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:09:48,976 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1598522203] [2024-11-23 02:09:48,976 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2024-11-23 02:09:48,976 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:09:49,000 INFO L227 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 8 check-sat command(s) [2024-11-23 02:09:49,000 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-23 02:09:49,704 INFO L134 CoverageAnalysis]: Checked inductivity of 365 backedges. 75 proven. 288 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-11-23 02:09:49,704 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-23 02:09:49,704 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1598522203] [2024-11-23 02:09:49,704 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1598522203] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-23 02:09:49,704 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [97074485] [2024-11-23 02:09:49,704 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2024-11-23 02:09:49,704 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-23 02:09:49,705 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:49,723 INFO L229 MonitoredProcess]: Starting monitored process 67 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-23 02:09:49,724 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (67)] Waiting until timeout for monitored process [2024-11-23 02:09:49,902 INFO L227 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 8 check-sat command(s) [2024-11-23 02:09:49,902 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-23 02:09:49,904 INFO L255 TraceCheckSpWp]: Trace formula consists of 400 conjuncts, 109 conjuncts are in the unsatisfiable core [2024-11-23 02:09:49,906 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-23 02:09:50,137 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2024-11-23 02:09:50,386 INFO L134 CoverageAnalysis]: Checked inductivity of 365 backedges. 53 proven. 310 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-11-23 02:09:50,386 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-23 02:09:50,942 INFO L349 Elim1Store]: treesize reduction 10, result has 52.4 percent of original size [2024-11-23 02:09:50,943 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 159 treesize of output 135 [2024-11-23 02:09:51,460 INFO L134 CoverageAnalysis]: Checked inductivity of 365 backedges. 7 proven. 356 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-11-23 02:09:51,460 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [97074485] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-23 02:09:51,460 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-23 02:09:51,461 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [24, 24, 25] total 67 [2024-11-23 02:09:51,461 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1126020674] [2024-11-23 02:09:51,461 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-23 02:09:52,101 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-23 02:09:52,102 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 67 interpolants. [2024-11-23 02:09:52,102 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=250, Invalid=4172, Unknown=0, NotChecked=0, Total=4422 [2024-11-23 02:09:52,103 INFO L87 Difference]: Start difference. First operand 234 states and 289 transitions. cyclomatic complexity: 67 Second operand has 67 states, 67 states have (on average 2.6865671641791047) internal successors, (180), 67 states have internal predecessors, (180), 0 states have call successors, (0), 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-11-23 02:09:54,244 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-23 02:09:54,244 INFO L93 Difference]: Finished difference Result 646 states and 757 transitions. [2024-11-23 02:09:54,244 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 646 states and 757 transitions. [2024-11-23 02:09:54,246 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 244 [2024-11-23 02:09:54,248 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 646 states to 458 states and 553 transitions. [2024-11-23 02:09:54,248 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 260 [2024-11-23 02:09:54,248 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 260 [2024-11-23 02:09:54,248 INFO L73 IsDeterministic]: Start isDeterministic. Operand 458 states and 553 transitions. [2024-11-23 02:09:54,248 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-23 02:09:54,248 INFO L218 hiAutomatonCegarLoop]: Abstraction has 458 states and 553 transitions. [2024-11-23 02:09:54,249 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 458 states and 553 transitions. [2024-11-23 02:09:54,251 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 458 to 266. [2024-11-23 02:09:54,252 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 266 states, 266 states have (on average 1.236842105263158) internal successors, (329), 265 states have internal predecessors, (329), 0 states have call successors, (0), 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-11-23 02:09:54,252 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 266 states to 266 states and 329 transitions. [2024-11-23 02:09:54,252 INFO L240 hiAutomatonCegarLoop]: Abstraction has 266 states and 329 transitions. [2024-11-23 02:09:54,253 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 43 states. [2024-11-23 02:09:54,254 INFO L425 stractBuchiCegarLoop]: Abstraction has 266 states and 329 transitions. [2024-11-23 02:09:54,254 INFO L332 stractBuchiCegarLoop]: ======== Iteration 19 ============ [2024-11-23 02:09:54,254 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 266 states and 329 transitions. [2024-11-23 02:09:54,254 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 148 [2024-11-23 02:09:54,254 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-23 02:09:54,254 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-23 02:09:54,255 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [8, 8, 7, 5, 3, 1, 1, 1, 1, 1] [2024-11-23 02:09:54,255 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [8, 8, 7, 7, 1, 1, 1, 1, 1, 1, 1] [2024-11-23 02:09:54,255 INFO L745 eck$LassoCheckResult]: Stem: 10117#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 10118#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~ret9#1.base, main_#t~ret9#1.offset, main_~in_len~0#1, main_~in~0#1.base, main_~in~0#1.offset;havoc main_#t~nondet7#1;main_~in_len~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; 10119#L531 assume !(main_~in_len~0#1 < 1);call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~in_len~0#1 % 18446744073709551616);main_~in~0#1.base, main_~in~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call write~int#0(0, main_~in~0#1.base, main_~in~0#1.offset + (main_~in_len~0#1 - 1), 1);assume { :begin_inline_basename } true;basename_#in~path#1.base, basename_#in~path#1.offset := main_~in~0#1.base, main_~in~0#1.offset;havoc basename_#res#1.base, basename_#res#1.offset;havoc basename_#t~ret5#1.base, basename_#t~ret5#1.offset, basename_#t~mem6#1, basename_~path#1.base, basename_~path#1.offset, basename_~c~0#1.base, basename_~c~0#1.offset;basename_~path#1.base, basename_~path#1.offset := basename_#in~path#1.base, basename_#in~path#1.offset;havoc basename_~c~0#1.base, basename_~c~0#1.offset; 10120#L517 assume { :begin_inline_strrchr } true;strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1 := basename_~path#1.base, basename_~path#1.offset, 47;havoc strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_#in~t#1.base, strrchr_#in~t#1.offset;strrchr_~c#1 := strrchr_#in~c#1;havoc strrchr_~ch~0#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := 0, 0;strrchr_~ch~0#1 := (if strrchr_~c#1 % 256 <= 127 then strrchr_~c#1 % 256 else strrchr_~c#1 % 256 - 256); 10114#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 10107#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 10108#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 10112#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 10335#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 10333#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 10334#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 10369#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 10115#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 10116#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 10370#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 10372#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 10371#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 10110#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 10111#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 10113#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 10127#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 10368#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 10367#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 10366#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 10365#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 10364#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 10162#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 10159#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 10160#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 10239#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 10218#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 10227#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 10225#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 10217#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 10213#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 10207#L511-3 assume 0 == strrchr_#t~mem3#1;havoc strrchr_#t~mem3#1;strrchr_#res#1.base, strrchr_#res#1.offset := strrchr_~l~0#1.base, strrchr_~l~0#1.offset; 10205#strrchr_returnLabel#1 [2024-11-23 02:09:54,255 INFO L747 eck$LassoCheckResult]: Loop: 10205#strrchr_returnLabel#1 basename_#t~ret5#1.base, basename_#t~ret5#1.offset := strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;havoc strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1;assume { :end_inline_strrchr } true;basename_~c~0#1.base, basename_~c~0#1.offset := basename_#t~ret5#1.base, basename_#t~ret5#1.offset; 10203#L518 assume !(basename_~c~0#1.base == 0 && basename_~c~0#1.offset == 0);havoc basename_#t~ret5#1.base, basename_#t~ret5#1.offset;call basename_#t~mem6#1 := read~int#0(basename_~c~0#1.base, 1 + basename_~c~0#1.offset, 1); 10201#L519 assume 0 == basename_#t~mem6#1;havoc basename_#t~mem6#1; 10199#L520 assume !(basename_~c~0#1.base == basename_~path#1.base && basename_~c~0#1.offset == basename_~path#1.offset);call write~int#0(0, basename_~c~0#1.base, basename_~c~0#1.offset, 1); 10197#L517 assume { :begin_inline_strrchr } true;strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1 := basename_~path#1.base, basename_~path#1.offset, 47;havoc strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_#in~t#1.base, strrchr_#in~t#1.offset;strrchr_~c#1 := strrchr_#in~c#1;havoc strrchr_~ch~0#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := 0, 0;strrchr_~ch~0#1 := (if strrchr_~c#1 % 256 <= 127 then strrchr_~c#1 % 256 else strrchr_~c#1 % 256 - 256); 10195#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 10192#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 10193#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 10188#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 10189#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 10181#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 10182#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 10363#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 10362#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 10361#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 10360#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 10359#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 10358#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 10172#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 10171#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 10170#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 10169#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 10168#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 10167#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 10166#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 10164#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 10165#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 10236#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 10263#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 10262#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 10235#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 10220#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 10228#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 10209#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 10219#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 10214#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 10208#L511-3 assume 0 == strrchr_#t~mem3#1;havoc strrchr_#t~mem3#1;strrchr_#res#1.base, strrchr_#res#1.offset := strrchr_~l~0#1.base, strrchr_~l~0#1.offset; 10205#strrchr_returnLabel#1 [2024-11-23 02:09:54,255 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:09:54,256 INFO L85 PathProgramCache]: Analyzing trace with hash 930090669, now seen corresponding path program 12 times [2024-11-23 02:09:54,256 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:09:54,256 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [911101996] [2024-11-23 02:09:54,256 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2024-11-23 02:09:54,256 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:09:54,269 INFO L227 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 8 check-sat command(s) [2024-11-23 02:09:54,272 INFO L228 tOrderPrioritization]: Conjunction of SSA is sat [2024-11-23 02:09:54,272 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-23 02:09:54,281 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:09:54,286 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-23 02:09:54,287 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:09:54,287 INFO L85 PathProgramCache]: Analyzing trace with hash -1188777634, now seen corresponding path program 13 times [2024-11-23 02:09:54,287 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:09:54,287 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1420676392] [2024-11-23 02:09:54,287 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2024-11-23 02:09:54,287 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:09:54,295 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:09:54,295 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-23 02:09:54,300 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:09:54,303 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-23 02:09:54,303 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:09:54,303 INFO L85 PathProgramCache]: Analyzing trace with hash 1338416690, now seen corresponding path program 13 times [2024-11-23 02:09:54,303 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:09:54,303 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2145730786] [2024-11-23 02:09:54,304 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2024-11-23 02:09:54,304 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:09:54,322 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-23 02:09:54,954 INFO L134 CoverageAnalysis]: Checked inductivity of 481 backedges. 86 proven. 393 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-11-23 02:09:54,954 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-23 02:09:54,955 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2145730786] [2024-11-23 02:09:54,955 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2145730786] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-23 02:09:54,955 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1294214387] [2024-11-23 02:09:54,955 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2024-11-23 02:09:54,955 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-23 02:09:54,955 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:09:54,957 INFO L229 MonitoredProcess]: Starting monitored process 68 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-23 02:09:54,959 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (68)] Waiting until timeout for monitored process [2024-11-23 02:09:55,066 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-23 02:09:55,068 INFO L255 TraceCheckSpWp]: Trace formula consists of 441 conjuncts, 101 conjuncts are in the unsatisfiable core [2024-11-23 02:09:55,071 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-23 02:09:55,161 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 9 [2024-11-23 02:09:55,392 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-11-23 02:09:55,393 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 27 treesize of output 11 [2024-11-23 02:09:55,412 INFO L134 CoverageAnalysis]: Checked inductivity of 481 backedges. 87 proven. 390 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-11-23 02:09:55,413 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-23 02:09:55,554 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-11-23 02:09:55,554 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 115 treesize of output 91 [2024-11-23 02:09:56,055 INFO L134 CoverageAnalysis]: Checked inductivity of 481 backedges. 87 proven. 390 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-11-23 02:09:56,055 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1294214387] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-23 02:09:56,055 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-23 02:09:56,055 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [27, 24, 24] total 50 [2024-11-23 02:09:56,055 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [260161920] [2024-11-23 02:09:56,055 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-23 02:09:56,776 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-23 02:09:56,776 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 50 interpolants. [2024-11-23 02:09:56,777 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=138, Invalid=2312, Unknown=0, NotChecked=0, Total=2450 [2024-11-23 02:09:56,777 INFO L87 Difference]: Start difference. First operand 266 states and 329 transitions. cyclomatic complexity: 75 Second operand has 50 states, 50 states have (on average 2.84) internal successors, (142), 50 states have internal predecessors, (142), 0 states have call successors, (0), 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-11-23 02:10:00,145 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-23 02:10:00,145 INFO L93 Difference]: Finished difference Result 884 states and 1078 transitions. [2024-11-23 02:10:00,145 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 884 states and 1078 transitions. [2024-11-23 02:10:00,148 INFO L131 ngComponentsAnalysis]: Automaton has 8 accepting balls. 672 [2024-11-23 02:10:00,150 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 884 states to 884 states and 1078 transitions. [2024-11-23 02:10:00,150 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 712 [2024-11-23 02:10:00,151 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 712 [2024-11-23 02:10:00,151 INFO L73 IsDeterministic]: Start isDeterministic. Operand 884 states and 1078 transitions. [2024-11-23 02:10:00,151 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-23 02:10:00,151 INFO L218 hiAutomatonCegarLoop]: Abstraction has 884 states and 1078 transitions. [2024-11-23 02:10:00,152 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 884 states and 1078 transitions. [2024-11-23 02:10:00,158 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 884 to 718. [2024-11-23 02:10:00,159 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 718 states, 718 states have (on average 1.2381615598885793) internal successors, (889), 717 states have internal predecessors, (889), 0 states have call successors, (0), 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-11-23 02:10:00,161 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 718 states to 718 states and 889 transitions. [2024-11-23 02:10:00,161 INFO L240 hiAutomatonCegarLoop]: Abstraction has 718 states and 889 transitions. [2024-11-23 02:10:00,161 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 67 states. [2024-11-23 02:10:00,161 INFO L425 stractBuchiCegarLoop]: Abstraction has 718 states and 889 transitions. [2024-11-23 02:10:00,161 INFO L332 stractBuchiCegarLoop]: ======== Iteration 20 ============ [2024-11-23 02:10:00,162 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 718 states and 889 transitions. [2024-11-23 02:10:00,163 INFO L131 ngComponentsAnalysis]: Automaton has 8 accepting balls. 560 [2024-11-23 02:10:00,163 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-23 02:10:00,163 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-23 02:10:00,163 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [8, 8, 7, 5, 3, 1, 1, 1, 1, 1] [2024-11-23 02:10:00,163 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [9, 9, 8, 7, 2, 1, 1, 1, 1, 1, 1] [2024-11-23 02:10:00,164 INFO L745 eck$LassoCheckResult]: Stem: 11883#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 11884#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~ret9#1.base, main_#t~ret9#1.offset, main_~in_len~0#1, main_~in~0#1.base, main_~in~0#1.offset;havoc main_#t~nondet7#1;main_~in_len~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; 11885#L531 assume !(main_~in_len~0#1 < 1);call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~in_len~0#1 % 18446744073709551616);main_~in~0#1.base, main_~in~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call write~int#0(0, main_~in~0#1.base, main_~in~0#1.offset + (main_~in_len~0#1 - 1), 1);assume { :begin_inline_basename } true;basename_#in~path#1.base, basename_#in~path#1.offset := main_~in~0#1.base, main_~in~0#1.offset;havoc basename_#res#1.base, basename_#res#1.offset;havoc basename_#t~ret5#1.base, basename_#t~ret5#1.offset, basename_#t~mem6#1, basename_~path#1.base, basename_~path#1.offset, basename_~c~0#1.base, basename_~c~0#1.offset;basename_~path#1.base, basename_~path#1.offset := basename_#in~path#1.base, basename_#in~path#1.offset;havoc basename_~c~0#1.base, basename_~c~0#1.offset; 11886#L517 assume { :begin_inline_strrchr } true;strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1 := basename_~path#1.base, basename_~path#1.offset, 47;havoc strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_#in~t#1.base, strrchr_#in~t#1.offset;strrchr_~c#1 := strrchr_#in~c#1;havoc strrchr_~ch~0#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := 0, 0;strrchr_~ch~0#1 := (if strrchr_~c#1 % 256 <= 127 then strrchr_~c#1 % 256 else strrchr_~c#1 % 256 - 256); 11939#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 11937#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 11935#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 11936#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 11931#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 11932#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 12172#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 12171#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 12170#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 12169#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 12168#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 12167#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 12166#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 12165#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 12164#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 12163#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 12162#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 12161#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 12160#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 12159#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 12158#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 12157#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 12156#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 12155#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 12154#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 12152#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 12126#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 12131#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 12129#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 12124#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 12092#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 12084#L511-3 assume 0 == strrchr_#t~mem3#1;havoc strrchr_#t~mem3#1;strrchr_#res#1.base, strrchr_#res#1.offset := strrchr_~l~0#1.base, strrchr_~l~0#1.offset; 12061#strrchr_returnLabel#1 [2024-11-23 02:10:00,164 INFO L747 eck$LassoCheckResult]: Loop: 12061#strrchr_returnLabel#1 basename_#t~ret5#1.base, basename_#t~ret5#1.offset := strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;havoc strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1;assume { :end_inline_strrchr } true;basename_~c~0#1.base, basename_~c~0#1.offset := basename_#t~ret5#1.base, basename_#t~ret5#1.offset; 12059#L518 assume !(basename_~c~0#1.base == 0 && basename_~c~0#1.offset == 0);havoc basename_#t~ret5#1.base, basename_#t~ret5#1.offset;call basename_#t~mem6#1 := read~int#0(basename_~c~0#1.base, 1 + basename_~c~0#1.offset, 1); 12057#L519 assume 0 == basename_#t~mem6#1;havoc basename_#t~mem6#1; 12055#L520 assume !(basename_~c~0#1.base == basename_~path#1.base && basename_~c~0#1.offset == basename_~path#1.offset);call write~int#0(0, basename_~c~0#1.base, basename_~c~0#1.offset, 1); 12053#L517 assume { :begin_inline_strrchr } true;strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1 := basename_~path#1.base, basename_~path#1.offset, 47;havoc strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_#in~t#1.base, strrchr_#in~t#1.offset;strrchr_~c#1 := strrchr_#in~c#1;havoc strrchr_~ch~0#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := 0, 0;strrchr_~ch~0#1 := (if strrchr_~c#1 % 256 <= 127 then strrchr_~c#1 % 256 else strrchr_~c#1 % 256 - 256); 12051#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 12048#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 12044#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 12045#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 12036#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 12037#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 12151#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 12150#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 12149#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 12148#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 12147#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 12146#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 12145#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 12144#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 12143#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 12142#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 12141#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 12139#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 12137#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 12134#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 12133#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 12132#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 12130#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 12127#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 12121#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 12119#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 12115#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 12111#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 12109#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 12104#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 12102#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 12100#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 12099#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 12095#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 12093#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 12085#L511-3 assume 0 == strrchr_#t~mem3#1;havoc strrchr_#t~mem3#1;strrchr_#res#1.base, strrchr_#res#1.offset := strrchr_~l~0#1.base, strrchr_~l~0#1.offset; 12061#strrchr_returnLabel#1 [2024-11-23 02:10:00,164 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:10:00,164 INFO L85 PathProgramCache]: Analyzing trace with hash 930090669, now seen corresponding path program 13 times [2024-11-23 02:10:00,164 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:10:00,164 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [866901389] [2024-11-23 02:10:00,164 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2024-11-23 02:10:00,165 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:10:00,173 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:10:00,173 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-23 02:10:00,177 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:10:00,180 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-23 02:10:00,180 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:10:00,180 INFO L85 PathProgramCache]: Analyzing trace with hash 179314504, now seen corresponding path program 14 times [2024-11-23 02:10:00,180 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:10:00,181 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1701177743] [2024-11-23 02:10:00,181 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-11-23 02:10:00,181 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:10:00,188 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2024-11-23 02:10:00,189 INFO L228 tOrderPrioritization]: Conjunction of SSA is sat [2024-11-23 02:10:00,189 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-23 02:10:00,193 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:10:00,195 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-23 02:10:00,195 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:10:00,195 INFO L85 PathProgramCache]: Analyzing trace with hash 1915191836, now seen corresponding path program 14 times [2024-11-23 02:10:00,195 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:10:00,195 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [840879521] [2024-11-23 02:10:00,195 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-11-23 02:10:00,196 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:10:00,209 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2024-11-23 02:10:00,209 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-23 02:10:00,858 INFO L134 CoverageAnalysis]: Checked inductivity of 545 backedges. 121 proven. 420 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-11-23 02:10:00,858 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-23 02:10:00,858 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [840879521] [2024-11-23 02:10:00,858 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [840879521] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-23 02:10:00,858 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [926683664] [2024-11-23 02:10:00,858 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-11-23 02:10:00,858 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-23 02:10:00,859 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:10:00,861 INFO L229 MonitoredProcess]: Starting monitored process 69 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-23 02:10:00,862 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (69)] Waiting until timeout for monitored process [2024-11-23 02:10:00,985 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2024-11-23 02:10:00,985 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-23 02:10:00,987 INFO L255 TraceCheckSpWp]: Trace formula consists of 459 conjuncts, 96 conjuncts are in the unsatisfiable core [2024-11-23 02:10:00,990 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-23 02:10:01,128 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2024-11-23 02:10:01,261 INFO L134 CoverageAnalysis]: Checked inductivity of 545 backedges. 121 proven. 418 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2024-11-23 02:10:01,261 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-23 02:10:01,319 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 25 [2024-11-23 02:10:01,581 INFO L134 CoverageAnalysis]: Checked inductivity of 545 backedges. 120 proven. 419 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2024-11-23 02:10:01,582 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [926683664] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-23 02:10:01,582 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-23 02:10:01,582 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23, 23, 23] total 44 [2024-11-23 02:10:01,582 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1526821444] [2024-11-23 02:10:01,582 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-23 02:10:02,398 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-23 02:10:02,399 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 44 interpolants. [2024-11-23 02:10:02,399 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=135, Invalid=1757, Unknown=0, NotChecked=0, Total=1892 [2024-11-23 02:10:02,399 INFO L87 Difference]: Start difference. First operand 718 states and 889 transitions. cyclomatic complexity: 191 Second operand has 44 states, 44 states have (on average 3.2954545454545454) internal successors, (145), 44 states have internal predecessors, (145), 0 states have call successors, (0), 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-11-23 02:10:03,112 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-23 02:10:03,113 INFO L93 Difference]: Finished difference Result 502 states and 605 transitions. [2024-11-23 02:10:03,113 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 502 states and 605 transitions. [2024-11-23 02:10:03,114 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 196 [2024-11-23 02:10:03,115 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 502 states to 362 states and 441 transitions. [2024-11-23 02:10:03,115 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 212 [2024-11-23 02:10:03,116 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 212 [2024-11-23 02:10:03,116 INFO L73 IsDeterministic]: Start isDeterministic. Operand 362 states and 441 transitions. [2024-11-23 02:10:03,116 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-23 02:10:03,116 INFO L218 hiAutomatonCegarLoop]: Abstraction has 362 states and 441 transitions. [2024-11-23 02:10:03,116 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 362 states and 441 transitions. [2024-11-23 02:10:03,120 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 362 to 298. [2024-11-23 02:10:03,120 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 298 states, 298 states have (on average 1.238255033557047) internal successors, (369), 297 states have internal predecessors, (369), 0 states have call successors, (0), 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-11-23 02:10:03,121 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 298 states to 298 states and 369 transitions. [2024-11-23 02:10:03,121 INFO L240 hiAutomatonCegarLoop]: Abstraction has 298 states and 369 transitions. [2024-11-23 02:10:03,121 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2024-11-23 02:10:03,121 INFO L425 stractBuchiCegarLoop]: Abstraction has 298 states and 369 transitions. [2024-11-23 02:10:03,121 INFO L332 stractBuchiCegarLoop]: ======== Iteration 21 ============ [2024-11-23 02:10:03,121 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 298 states and 369 transitions. [2024-11-23 02:10:03,122 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 164 [2024-11-23 02:10:03,122 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-23 02:10:03,122 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-23 02:10:03,124 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [9, 9, 8, 6, 3, 1, 1, 1, 1, 1] [2024-11-23 02:10:03,124 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [9, 9, 8, 8, 1, 1, 1, 1, 1, 1, 1] [2024-11-23 02:10:03,124 INFO L745 eck$LassoCheckResult]: Stem: 13627#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 13628#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~ret9#1.base, main_#t~ret9#1.offset, main_~in_len~0#1, main_~in~0#1.base, main_~in~0#1.offset;havoc main_#t~nondet7#1;main_~in_len~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; 13629#L531 assume !(main_~in_len~0#1 < 1);call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~in_len~0#1 % 18446744073709551616);main_~in~0#1.base, main_~in~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call write~int#0(0, main_~in~0#1.base, main_~in~0#1.offset + (main_~in_len~0#1 - 1), 1);assume { :begin_inline_basename } true;basename_#in~path#1.base, basename_#in~path#1.offset := main_~in~0#1.base, main_~in~0#1.offset;havoc basename_#res#1.base, basename_#res#1.offset;havoc basename_#t~ret5#1.base, basename_#t~ret5#1.offset, basename_#t~mem6#1, basename_~path#1.base, basename_~path#1.offset, basename_~c~0#1.base, basename_~c~0#1.offset;basename_~path#1.base, basename_~path#1.offset := basename_#in~path#1.base, basename_#in~path#1.offset;havoc basename_~c~0#1.base, basename_~c~0#1.offset; 13630#L517 assume { :begin_inline_strrchr } true;strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1 := basename_~path#1.base, basename_~path#1.offset, 47;havoc strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_#in~t#1.base, strrchr_#in~t#1.offset;strrchr_~c#1 := strrchr_#in~c#1;havoc strrchr_~ch~0#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := 0, 0;strrchr_~ch~0#1 := (if strrchr_~c#1 % 256 <= 127 then strrchr_~c#1 % 256 else strrchr_~c#1 % 256 - 256); 13694#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13692#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 13693#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13688#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 13689#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13617#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 13618#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13894#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 13893#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13892#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 13891#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13890#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 13889#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13888#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 13887#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13886#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 13885#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13884#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 13883#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13882#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 13881#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13880#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 13879#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13878#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 13877#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13668#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 13669#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13796#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 13658#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13659#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 13774#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13777#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 13775#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13773#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 13772#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13769#L511-3 assume 0 == strrchr_#t~mem3#1;havoc strrchr_#t~mem3#1;strrchr_#res#1.base, strrchr_#res#1.offset := strrchr_~l~0#1.base, strrchr_~l~0#1.offset; 13766#strrchr_returnLabel#1 [2024-11-23 02:10:03,124 INFO L747 eck$LassoCheckResult]: Loop: 13766#strrchr_returnLabel#1 basename_#t~ret5#1.base, basename_#t~ret5#1.offset := strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;havoc strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1;assume { :end_inline_strrchr } true;basename_~c~0#1.base, basename_~c~0#1.offset := basename_#t~ret5#1.base, basename_#t~ret5#1.offset; 13764#L518 assume !(basename_~c~0#1.base == 0 && basename_~c~0#1.offset == 0);havoc basename_#t~ret5#1.base, basename_#t~ret5#1.offset;call basename_#t~mem6#1 := read~int#0(basename_~c~0#1.base, 1 + basename_~c~0#1.offset, 1); 13762#L519 assume 0 == basename_#t~mem6#1;havoc basename_#t~mem6#1; 13631#L520 assume !(basename_~c~0#1.base == basename_~path#1.base && basename_~c~0#1.offset == basename_~path#1.offset);call write~int#0(0, basename_~c~0#1.base, basename_~c~0#1.offset, 1); 13632#L517 assume { :begin_inline_strrchr } true;strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1 := basename_~path#1.base, basename_~path#1.offset, 47;havoc strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_#in~t#1.base, strrchr_#in~t#1.offset;strrchr_~c#1 := strrchr_#in~c#1;havoc strrchr_~ch~0#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := 0, 0;strrchr_~ch~0#1 := (if strrchr_~c#1 % 256 <= 127 then strrchr_~c#1 % 256 else strrchr_~c#1 % 256 - 256); 13730#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13727#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 13724#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13725#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 13718#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13719#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 13816#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13815#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 13814#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13813#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 13812#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13811#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 13810#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13809#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 13808#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13807#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 13806#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13805#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 13804#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13803#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 13802#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13801#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 13800#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13799#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 13798#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13797#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 13784#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13786#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 13785#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13783#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 13779#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13780#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 13768#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13778#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 13776#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13767#L511-3 assume 0 == strrchr_#t~mem3#1;havoc strrchr_#t~mem3#1;strrchr_#res#1.base, strrchr_#res#1.offset := strrchr_~l~0#1.base, strrchr_~l~0#1.offset; 13766#strrchr_returnLabel#1 [2024-11-23 02:10:03,124 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:10:03,124 INFO L85 PathProgramCache]: Analyzing trace with hash -1906426601, now seen corresponding path program 14 times [2024-11-23 02:10:03,125 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:10:03,125 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2137606222] [2024-11-23 02:10:03,125 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-11-23 02:10:03,125 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:10:03,136 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2024-11-23 02:10:03,137 INFO L228 tOrderPrioritization]: Conjunction of SSA is sat [2024-11-23 02:10:03,137 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-23 02:10:03,141 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:10:03,144 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-23 02:10:03,145 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:10:03,145 INFO L85 PathProgramCache]: Analyzing trace with hash -521750074, now seen corresponding path program 15 times [2024-11-23 02:10:03,145 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:10:03,145 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [633870328] [2024-11-23 02:10:03,145 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2024-11-23 02:10:03,145 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:10:03,154 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 9 check-sat command(s) [2024-11-23 02:10:03,154 INFO L228 tOrderPrioritization]: Conjunction of SSA is sat [2024-11-23 02:10:03,154 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-23 02:10:03,159 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:10:03,161 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-23 02:10:03,162 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:10:03,162 INFO L85 PathProgramCache]: Analyzing trace with hash 1420012912, now seen corresponding path program 15 times [2024-11-23 02:10:03,162 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:10:03,162 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1741499077] [2024-11-23 02:10:03,162 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2024-11-23 02:10:03,162 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:10:03,189 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 10 check-sat command(s) [2024-11-23 02:10:03,189 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-23 02:10:03,817 INFO L134 CoverageAnalysis]: Checked inductivity of 613 backedges. 1 proven. 612 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-23 02:10:03,817 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-23 02:10:03,817 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1741499077] [2024-11-23 02:10:03,817 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1741499077] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-23 02:10:03,817 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [836487794] [2024-11-23 02:10:03,818 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2024-11-23 02:10:03,818 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-23 02:10:03,818 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:10:03,820 INFO L229 MonitoredProcess]: Starting monitored process 70 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-23 02:10:03,821 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (70)] Waiting until timeout for monitored process [2024-11-23 02:10:04,008 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 10 check-sat command(s) [2024-11-23 02:10:04,009 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-23 02:10:04,012 INFO L255 TraceCheckSpWp]: Trace formula consists of 482 conjuncts, 121 conjuncts are in the unsatisfiable core [2024-11-23 02:10:04,014 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-23 02:10:04,132 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2024-11-23 02:10:04,434 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-11-23 02:10:04,435 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 23 treesize of output 11 [2024-11-23 02:10:04,455 INFO L134 CoverageAnalysis]: Checked inductivity of 613 backedges. 99 proven. 510 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-11-23 02:10:04,455 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-23 02:10:04,747 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-11-23 02:10:04,747 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 133 treesize of output 103 [2024-11-23 02:10:05,324 INFO L134 CoverageAnalysis]: Checked inductivity of 613 backedges. 99 proven. 510 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-11-23 02:10:05,325 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [836487794] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-23 02:10:05,325 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-23 02:10:05,325 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [28, 27, 26] total 64 [2024-11-23 02:10:05,325 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2126611811] [2024-11-23 02:10:05,325 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-23 02:10:06,221 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-23 02:10:06,221 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 64 interpolants. [2024-11-23 02:10:06,222 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=195, Invalid=3837, Unknown=0, NotChecked=0, Total=4032 [2024-11-23 02:10:06,222 INFO L87 Difference]: Start difference. First operand 298 states and 369 transitions. cyclomatic complexity: 83 Second operand has 64 states, 64 states have (on average 2.921875) internal successors, (187), 64 states have internal predecessors, (187), 0 states have call successors, (0), 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-11-23 02:10:19,185 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-23 02:10:19,185 INFO L93 Difference]: Finished difference Result 1614 states and 1923 transitions. [2024-11-23 02:10:19,185 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1614 states and 1923 transitions. [2024-11-23 02:10:19,189 INFO L131 ngComponentsAnalysis]: Automaton has 12 accepting balls. 1308 [2024-11-23 02:10:19,194 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1614 states to 1614 states and 1923 transitions. [2024-11-23 02:10:19,194 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 1396 [2024-11-23 02:10:19,194 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 1396 [2024-11-23 02:10:19,195 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1614 states and 1923 transitions. [2024-11-23 02:10:19,195 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-23 02:10:19,195 INFO L218 hiAutomatonCegarLoop]: Abstraction has 1614 states and 1923 transitions. [2024-11-23 02:10:19,196 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1614 states and 1923 transitions. [2024-11-23 02:10:19,207 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1614 to 1022. [2024-11-23 02:10:19,209 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1022 states, 1022 states have (on average 1.2123287671232876) internal successors, (1239), 1021 states have internal predecessors, (1239), 0 states have call successors, (0), 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-11-23 02:10:19,210 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1022 states to 1022 states and 1239 transitions. [2024-11-23 02:10:19,210 INFO L240 hiAutomatonCegarLoop]: Abstraction has 1022 states and 1239 transitions. [2024-11-23 02:10:19,211 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 321 states. [2024-11-23 02:10:19,212 INFO L425 stractBuchiCegarLoop]: Abstraction has 1022 states and 1239 transitions. [2024-11-23 02:10:19,212 INFO L332 stractBuchiCegarLoop]: ======== Iteration 22 ============ [2024-11-23 02:10:19,212 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1022 states and 1239 transitions. [2024-11-23 02:10:19,214 INFO L131 ngComponentsAnalysis]: Automaton has 9 accepting balls. 848 [2024-11-23 02:10:19,214 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-23 02:10:19,214 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-23 02:10:19,214 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [9, 9, 8, 6, 3, 1, 1, 1, 1, 1] [2024-11-23 02:10:19,214 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [10, 10, 9, 8, 2, 1, 1, 1, 1, 1, 1] [2024-11-23 02:10:19,215 INFO L745 eck$LassoCheckResult]: Stem: 16699#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 16700#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~ret9#1.base, main_#t~ret9#1.offset, main_~in_len~0#1, main_~in~0#1.base, main_~in~0#1.offset;havoc main_#t~nondet7#1;main_~in_len~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; 16701#L531 assume !(main_~in_len~0#1 < 1);call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~in_len~0#1 % 18446744073709551616);main_~in~0#1.base, main_~in~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call write~int#0(0, main_~in~0#1.base, main_~in~0#1.offset + (main_~in_len~0#1 - 1), 1);assume { :begin_inline_basename } true;basename_#in~path#1.base, basename_#in~path#1.offset := main_~in~0#1.base, main_~in~0#1.offset;havoc basename_#res#1.base, basename_#res#1.offset;havoc basename_#t~ret5#1.base, basename_#t~ret5#1.offset, basename_#t~mem6#1, basename_~path#1.base, basename_~path#1.offset, basename_~c~0#1.base, basename_~c~0#1.offset;basename_~path#1.base, basename_~path#1.offset := basename_#in~path#1.base, basename_#in~path#1.offset;havoc basename_~c~0#1.base, basename_~c~0#1.offset; 16702#L517 assume { :begin_inline_strrchr } true;strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1 := basename_~path#1.base, basename_~path#1.offset, 47;havoc strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_#in~t#1.base, strrchr_#in~t#1.offset;strrchr_~c#1 := strrchr_#in~c#1;havoc strrchr_~ch~0#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := 0, 0;strrchr_~ch~0#1 := (if strrchr_~c#1 % 256 <= 127 then strrchr_~c#1 % 256 else strrchr_~c#1 % 256 - 256); 16754#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 16752#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 16750#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 16751#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 16757#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 16758#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 17025#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 17024#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 17023#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 17022#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 17021#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 17015#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 17013#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 17011#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 17009#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 17007#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 17005#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 17003#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 17001#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 16999#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 16997#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 16995#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 16993#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 16991#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 16989#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 16987#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 16985#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 16983#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 16981#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 16978#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 16962#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 16966#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 16965#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 16960#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 16935#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 16924#L511-3 assume 0 == strrchr_#t~mem3#1;havoc strrchr_#t~mem3#1;strrchr_#res#1.base, strrchr_#res#1.offset := strrchr_~l~0#1.base, strrchr_~l~0#1.offset; 16906#strrchr_returnLabel#1 [2024-11-23 02:10:19,215 INFO L747 eck$LassoCheckResult]: Loop: 16906#strrchr_returnLabel#1 basename_#t~ret5#1.base, basename_#t~ret5#1.offset := strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;havoc strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1;assume { :end_inline_strrchr } true;basename_~c~0#1.base, basename_~c~0#1.offset := basename_#t~ret5#1.base, basename_#t~ret5#1.offset; 16904#L518 assume !(basename_~c~0#1.base == 0 && basename_~c~0#1.offset == 0);havoc basename_#t~ret5#1.base, basename_#t~ret5#1.offset;call basename_#t~mem6#1 := read~int#0(basename_~c~0#1.base, 1 + basename_~c~0#1.offset, 1); 16902#L519 assume 0 == basename_#t~mem6#1;havoc basename_#t~mem6#1; 16900#L520 assume !(basename_~c~0#1.base == basename_~path#1.base && basename_~c~0#1.offset == basename_~path#1.offset);call write~int#0(0, basename_~c~0#1.base, basename_~c~0#1.offset, 1); 16898#L517 assume { :begin_inline_strrchr } true;strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1 := basename_~path#1.base, basename_~path#1.offset, 47;havoc strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_#in~t#1.base, strrchr_#in~t#1.offset;strrchr_~c#1 := strrchr_#in~c#1;havoc strrchr_~ch~0#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := 0, 0;strrchr_~ch~0#1 := (if strrchr_~c#1 % 256 <= 127 then strrchr_~c#1 % 256 else strrchr_~c#1 % 256 - 256); 16896#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 16893#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 16889#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 16890#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 16881#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 16882#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 17019#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 17018#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 17017#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 17016#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 17014#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 17012#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 17010#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 17008#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 17006#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 17004#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 17002#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 17000#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 16998#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 16996#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 16994#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 16992#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 16990#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 16988#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 16986#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 16984#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 16982#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 16980#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 16977#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 16976#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 16975#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 16973#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 16969#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 16958#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 16957#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 16955#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 16954#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 16947#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 16936#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 16925#L511-3 assume 0 == strrchr_#t~mem3#1;havoc strrchr_#t~mem3#1;strrchr_#res#1.base, strrchr_#res#1.offset := strrchr_~l~0#1.base, strrchr_~l~0#1.offset; 16906#strrchr_returnLabel#1 [2024-11-23 02:10:19,215 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:10:19,215 INFO L85 PathProgramCache]: Analyzing trace with hash -1906426601, now seen corresponding path program 15 times [2024-11-23 02:10:19,215 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:10:19,215 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [375048642] [2024-11-23 02:10:19,216 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2024-11-23 02:10:19,216 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:10:19,227 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 9 check-sat command(s) [2024-11-23 02:10:19,227 INFO L228 tOrderPrioritization]: Conjunction of SSA is sat [2024-11-23 02:10:19,227 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-23 02:10:19,234 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:10:19,237 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-23 02:10:19,238 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:10:19,238 INFO L85 PathProgramCache]: Analyzing trace with hash -135810128, now seen corresponding path program 16 times [2024-11-23 02:10:19,238 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:10:19,238 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [291471665] [2024-11-23 02:10:19,238 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2024-11-23 02:10:19,238 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:10:19,248 INFO L227 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2024-11-23 02:10:19,249 INFO L228 tOrderPrioritization]: Conjunction of SSA is sat [2024-11-23 02:10:19,249 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-23 02:10:19,253 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:10:19,256 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-23 02:10:19,256 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:10:19,256 INFO L85 PathProgramCache]: Analyzing trace with hash -1756446118, now seen corresponding path program 16 times [2024-11-23 02:10:19,256 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:10:19,257 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1011684645] [2024-11-23 02:10:19,257 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2024-11-23 02:10:19,257 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:10:19,273 INFO L227 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2024-11-23 02:10:19,274 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-23 02:10:19,866 INFO L134 CoverageAnalysis]: Checked inductivity of 685 backedges. 137 proven. 544 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-11-23 02:10:19,866 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-23 02:10:19,866 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1011684645] [2024-11-23 02:10:19,866 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1011684645] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-23 02:10:19,866 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [370339909] [2024-11-23 02:10:19,866 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2024-11-23 02:10:19,867 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-23 02:10:19,867 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:10:19,869 INFO L229 MonitoredProcess]: Starting monitored process 71 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-23 02:10:19,870 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (71)] Waiting until timeout for monitored process [2024-11-23 02:10:20,019 INFO L227 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2024-11-23 02:10:20,019 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-23 02:10:20,024 INFO L255 TraceCheckSpWp]: Trace formula consists of 500 conjuncts, 95 conjuncts are in the unsatisfiable core [2024-11-23 02:10:20,027 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-23 02:10:20,129 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 9 [2024-11-23 02:10:20,171 INFO L134 CoverageAnalysis]: Checked inductivity of 685 backedges. 137 proven. 542 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2024-11-23 02:10:20,171 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-23 02:10:20,211 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 25 [2024-11-23 02:10:20,314 INFO L134 CoverageAnalysis]: Checked inductivity of 685 backedges. 137 proven. 542 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2024-11-23 02:10:20,314 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [370339909] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-23 02:10:20,314 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-23 02:10:20,314 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [24, 23, 23] total 24 [2024-11-23 02:10:20,315 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [975691954] [2024-11-23 02:10:20,315 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-23 02:10:21,252 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-23 02:10:21,252 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2024-11-23 02:10:21,253 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=46, Invalid=506, Unknown=0, NotChecked=0, Total=552 [2024-11-23 02:10:21,253 INFO L87 Difference]: Start difference. First operand 1022 states and 1239 transitions. cyclomatic complexity: 238 Second operand has 24 states, 24 states have (on average 3.5416666666666665) internal successors, (85), 24 states have internal predecessors, (85), 0 states have call successors, (0), 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-11-23 02:10:21,881 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-23 02:10:21,881 INFO L93 Difference]: Finished difference Result 552 states and 668 transitions. [2024-11-23 02:10:21,881 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 552 states and 668 transitions. [2024-11-23 02:10:21,883 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 212 [2024-11-23 02:10:21,884 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 552 states to 394 states and 481 transitions. [2024-11-23 02:10:21,884 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 228 [2024-11-23 02:10:21,884 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 228 [2024-11-23 02:10:21,885 INFO L73 IsDeterministic]: Start isDeterministic. Operand 394 states and 481 transitions. [2024-11-23 02:10:21,885 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-23 02:10:21,885 INFO L218 hiAutomatonCegarLoop]: Abstraction has 394 states and 481 transitions. [2024-11-23 02:10:21,885 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 394 states and 481 transitions. [2024-11-23 02:10:21,888 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 394 to 330. [2024-11-23 02:10:21,889 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 330 states, 330 states have (on average 1.2393939393939395) internal successors, (409), 329 states have internal predecessors, (409), 0 states have call successors, (0), 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-11-23 02:10:21,889 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 330 states to 330 states and 409 transitions. [2024-11-23 02:10:21,889 INFO L240 hiAutomatonCegarLoop]: Abstraction has 330 states and 409 transitions. [2024-11-23 02:10:21,889 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2024-11-23 02:10:21,889 INFO L425 stractBuchiCegarLoop]: Abstraction has 330 states and 409 transitions. [2024-11-23 02:10:21,890 INFO L332 stractBuchiCegarLoop]: ======== Iteration 23 ============ [2024-11-23 02:10:21,890 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 330 states and 409 transitions. [2024-11-23 02:10:21,890 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 180 [2024-11-23 02:10:21,890 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-23 02:10:21,891 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-23 02:10:21,891 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [10, 10, 9, 7, 3, 1, 1, 1, 1, 1] [2024-11-23 02:10:21,891 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [10, 10, 9, 9, 1, 1, 1, 1, 1, 1, 1] [2024-11-23 02:10:21,891 INFO L745 eck$LassoCheckResult]: Stem: 18832#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 18833#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~ret9#1.base, main_#t~ret9#1.offset, main_~in_len~0#1, main_~in~0#1.base, main_~in~0#1.offset;havoc main_#t~nondet7#1;main_~in_len~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; 18834#L531 assume !(main_~in_len~0#1 < 1);call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~in_len~0#1 % 18446744073709551616);main_~in~0#1.base, main_~in~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call write~int#0(0, main_~in~0#1.base, main_~in~0#1.offset + (main_~in_len~0#1 - 1), 1);assume { :begin_inline_basename } true;basename_#in~path#1.base, basename_#in~path#1.offset := main_~in~0#1.base, main_~in~0#1.offset;havoc basename_#res#1.base, basename_#res#1.offset;havoc basename_#t~ret5#1.base, basename_#t~ret5#1.offset, basename_#t~mem6#1, basename_~path#1.base, basename_~path#1.offset, basename_~c~0#1.base, basename_~c~0#1.offset;basename_~path#1.base, basename_~path#1.offset := basename_#in~path#1.base, basename_#in~path#1.offset;havoc basename_~c~0#1.base, basename_~c~0#1.offset; 18835#L517 assume { :begin_inline_strrchr } true;strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1 := basename_~path#1.base, basename_~path#1.offset, 47;havoc strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_#in~t#1.base, strrchr_#in~t#1.offset;strrchr_~c#1 := strrchr_#in~c#1;havoc strrchr_~ch~0#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := 0, 0;strrchr_~ch~0#1 := (if strrchr_~c#1 % 256 <= 127 then strrchr_~c#1 % 256 else strrchr_~c#1 % 256 - 256); 18928#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 18926#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 18924#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 18925#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 18920#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 18921#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 19055#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19054#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 19053#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19052#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 19051#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19050#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 19049#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19048#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 19047#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19046#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 19045#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19044#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 19043#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19042#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 19041#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19040#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 19039#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19038#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 19037#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19036#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 19035#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19034#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 19033#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19032#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 19014#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 18874#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 18870#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 18871#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 18988#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 18858#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 18859#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 18987#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 18983#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 18978#L511-3 assume 0 == strrchr_#t~mem3#1;havoc strrchr_#t~mem3#1;strrchr_#res#1.base, strrchr_#res#1.offset := strrchr_~l~0#1.base, strrchr_~l~0#1.offset; 18976#strrchr_returnLabel#1 [2024-11-23 02:10:21,891 INFO L747 eck$LassoCheckResult]: Loop: 18976#strrchr_returnLabel#1 basename_#t~ret5#1.base, basename_#t~ret5#1.offset := strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;havoc strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1;assume { :end_inline_strrchr } true;basename_~c~0#1.base, basename_~c~0#1.offset := basename_#t~ret5#1.base, basename_#t~ret5#1.offset; 18974#L518 assume !(basename_~c~0#1.base == 0 && basename_~c~0#1.offset == 0);havoc basename_#t~ret5#1.base, basename_#t~ret5#1.offset;call basename_#t~mem6#1 := read~int#0(basename_~c~0#1.base, 1 + basename_~c~0#1.offset, 1); 18972#L519 assume 0 == basename_#t~mem6#1;havoc basename_#t~mem6#1; 18970#L520 assume !(basename_~c~0#1.base == basename_~path#1.base && basename_~c~0#1.offset == basename_~path#1.offset);call write~int#0(0, basename_~c~0#1.base, basename_~c~0#1.offset, 1); 18959#L517 assume { :begin_inline_strrchr } true;strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1 := basename_~path#1.base, basename_~path#1.offset, 47;havoc strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_#in~t#1.base, strrchr_#in~t#1.offset;strrchr_~c#1 := strrchr_#in~c#1;havoc strrchr_~ch~0#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := 0, 0;strrchr_~ch~0#1 := (if strrchr_~c#1 % 256 <= 127 then strrchr_~c#1 % 256 else strrchr_~c#1 % 256 - 256); 18960#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 18984#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 18824#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 18825#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 18955#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 18956#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 19080#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19126#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 19125#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19124#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 19123#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19122#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 19121#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19120#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 19119#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19118#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 19117#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19116#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 19115#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19114#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 19113#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19112#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 19111#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19110#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 19109#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19108#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 19107#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19106#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 19105#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19104#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 18878#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 18875#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 18872#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 18873#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 18993#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 18861#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 18856#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 18857#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 18991#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 18979#L511-3 assume 0 == strrchr_#t~mem3#1;havoc strrchr_#t~mem3#1;strrchr_#res#1.base, strrchr_#res#1.offset := strrchr_~l~0#1.base, strrchr_~l~0#1.offset; 18976#strrchr_returnLabel#1 [2024-11-23 02:10:21,892 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:10:21,892 INFO L85 PathProgramCache]: Analyzing trace with hash 1281042049, now seen corresponding path program 16 times [2024-11-23 02:10:21,892 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:10:21,892 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2071846446] [2024-11-23 02:10:21,892 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2024-11-23 02:10:21,892 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:10:21,907 INFO L227 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2024-11-23 02:10:21,907 INFO L228 tOrderPrioritization]: Conjunction of SSA is sat [2024-11-23 02:10:21,907 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-23 02:10:21,914 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:10:21,918 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-23 02:10:21,919 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:10:21,919 INFO L85 PathProgramCache]: Analyzing trace with hash -836874706, now seen corresponding path program 17 times [2024-11-23 02:10:21,919 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:10:21,919 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [460219083] [2024-11-23 02:10:21,919 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2024-11-23 02:10:21,919 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:10:21,931 INFO L227 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 10 check-sat command(s) [2024-11-23 02:10:21,934 INFO L228 tOrderPrioritization]: Conjunction of SSA is sat [2024-11-23 02:10:21,934 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-23 02:10:21,942 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:10:21,950 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-23 02:10:21,950 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:10:21,950 INFO L85 PathProgramCache]: Analyzing trace with hash -730875986, now seen corresponding path program 17 times [2024-11-23 02:10:21,950 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:10:21,950 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1946916974] [2024-11-23 02:10:21,950 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2024-11-23 02:10:21,950 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:10:21,969 INFO L227 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 11 check-sat command(s) [2024-11-23 02:10:21,969 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-23 02:10:22,721 INFO L134 CoverageAnalysis]: Checked inductivity of 761 backedges. 111 proven. 648 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-11-23 02:10:22,722 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-23 02:10:22,722 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1946916974] [2024-11-23 02:10:22,722 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1946916974] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-23 02:10:22,722 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1927708029] [2024-11-23 02:10:22,722 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2024-11-23 02:10:22,722 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-23 02:10:22,722 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:10:22,724 INFO L229 MonitoredProcess]: Starting monitored process 72 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-23 02:10:22,725 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (72)] Waiting until timeout for monitored process [2024-11-23 02:10:22,864 INFO L227 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 11 check-sat command(s) [2024-11-23 02:10:22,864 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-23 02:10:22,868 INFO L255 TraceCheckSpWp]: Trace formula consists of 523 conjuncts, 131 conjuncts are in the unsatisfiable core [2024-11-23 02:10:22,871 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-23 02:10:23,037 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2024-11-23 02:10:23,462 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-11-23 02:10:23,462 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 30 treesize of output 14 [2024-11-23 02:10:23,481 INFO L134 CoverageAnalysis]: Checked inductivity of 761 backedges. 111 proven. 646 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-11-23 02:10:23,481 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-23 02:10:23,875 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-11-23 02:10:23,875 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 235 treesize of output 181 [2024-11-23 02:10:24,677 INFO L134 CoverageAnalysis]: Checked inductivity of 761 backedges. 115 proven. 642 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-11-23 02:10:24,677 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1927708029] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-23 02:10:24,677 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-23 02:10:24,677 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [30, 31, 30] total 69 [2024-11-23 02:10:24,677 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [711350097] [2024-11-23 02:10:24,677 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-23 02:10:25,613 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-23 02:10:25,613 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 69 interpolants. [2024-11-23 02:10:25,614 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=272, Invalid=4420, Unknown=0, NotChecked=0, Total=4692 [2024-11-23 02:10:25,614 INFO L87 Difference]: Start difference. First operand 330 states and 409 transitions. cyclomatic complexity: 91 Second operand has 69 states, 69 states have (on average 2.8550724637681157) internal successors, (197), 69 states have internal predecessors, (197), 0 states have call successors, (0), 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-11-23 02:10:31,436 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-23 02:10:31,436 INFO L93 Difference]: Finished difference Result 1730 states and 2129 transitions. [2024-11-23 02:10:31,436 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1730 states and 2129 transitions. [2024-11-23 02:10:31,440 INFO L131 ngComponentsAnalysis]: Automaton has 8 accepting balls. 1388 [2024-11-23 02:10:31,444 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1730 states to 1730 states and 2129 transitions. [2024-11-23 02:10:31,445 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 1428 [2024-11-23 02:10:31,445 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 1428 [2024-11-23 02:10:31,445 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1730 states and 2129 transitions. [2024-11-23 02:10:31,447 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-11-23 02:10:31,447 INFO L218 hiAutomatonCegarLoop]: Abstraction has 1730 states and 2129 transitions. [2024-11-23 02:10:31,447 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1730 states and 2129 transitions. [2024-11-23 02:10:31,459 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1730 to 1006. [2024-11-23 02:10:31,460 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1006 states, 1006 states have (on average 1.2415506958250497) internal successors, (1249), 1005 states have internal predecessors, (1249), 0 states have call successors, (0), 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-11-23 02:10:31,462 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1006 states to 1006 states and 1249 transitions. [2024-11-23 02:10:31,462 INFO L240 hiAutomatonCegarLoop]: Abstraction has 1006 states and 1249 transitions. [2024-11-23 02:10:31,465 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 118 states. [2024-11-23 02:10:31,465 INFO L425 stractBuchiCegarLoop]: Abstraction has 1006 states and 1249 transitions. [2024-11-23 02:10:31,466 INFO L332 stractBuchiCegarLoop]: ======== Iteration 24 ============ [2024-11-23 02:10:31,466 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1006 states and 1249 transitions. [2024-11-23 02:10:31,467 INFO L131 ngComponentsAnalysis]: Automaton has 8 accepting balls. 816 [2024-11-23 02:10:31,467 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-23 02:10:31,467 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-23 02:10:31,468 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [10, 10, 9, 7, 3, 1, 1, 1, 1, 1] [2024-11-23 02:10:31,468 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [10, 10, 9, 8, 2, 1, 1, 1, 1, 1, 1] [2024-11-23 02:10:31,468 INFO L745 eck$LassoCheckResult]: Stem: 21694#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 21695#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~ret9#1.base, main_#t~ret9#1.offset, main_~in_len~0#1, main_~in~0#1.base, main_~in~0#1.offset;havoc main_#t~nondet7#1;main_~in_len~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; 21696#L531 assume !(main_~in_len~0#1 < 1);call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~in_len~0#1 % 18446744073709551616);main_~in~0#1.base, main_~in~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call write~int#0(0, main_~in~0#1.base, main_~in~0#1.offset + (main_~in_len~0#1 - 1), 1);assume { :begin_inline_basename } true;basename_#in~path#1.base, basename_#in~path#1.offset := main_~in~0#1.base, main_~in~0#1.offset;havoc basename_#res#1.base, basename_#res#1.offset;havoc basename_#t~ret5#1.base, basename_#t~ret5#1.offset, basename_#t~mem6#1, basename_~path#1.base, basename_~path#1.offset, basename_~c~0#1.base, basename_~c~0#1.offset;basename_~path#1.base, basename_~path#1.offset := basename_#in~path#1.base, basename_#in~path#1.offset;havoc basename_~c~0#1.base, basename_~c~0#1.offset; 21697#L517 assume { :begin_inline_strrchr } true;strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1 := basename_~path#1.base, basename_~path#1.offset, 47;havoc strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_#in~t#1.base, strrchr_#in~t#1.offset;strrchr_~c#1 := strrchr_#in~c#1;havoc strrchr_~ch~0#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := 0, 0;strrchr_~ch~0#1 := (if strrchr_~c#1 % 256 <= 127 then strrchr_~c#1 % 256 else strrchr_~c#1 % 256 - 256); 21753#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21751#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 21749#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21750#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 21756#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21757#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 22284#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21745#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 21746#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21687#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 21688#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21690#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 21703#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21744#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 21743#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21742#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 21741#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21740#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 21739#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21738#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 21737#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21736#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 21735#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21734#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 21733#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21732#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 21731#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21730#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 21729#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21727#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 21728#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 22310#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 21972#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21721#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 21719#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21720#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 22110#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 22103#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 22104#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 22482#L511-3 assume 0 == strrchr_#t~mem3#1;havoc strrchr_#t~mem3#1;strrchr_#res#1.base, strrchr_#res#1.offset := strrchr_~l~0#1.base, strrchr_~l~0#1.offset; 21947#strrchr_returnLabel#1 [2024-11-23 02:10:31,469 INFO L747 eck$LassoCheckResult]: Loop: 21947#strrchr_returnLabel#1 basename_#t~ret5#1.base, basename_#t~ret5#1.offset := strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;havoc strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1;assume { :end_inline_strrchr } true;basename_~c~0#1.base, basename_~c~0#1.offset := basename_#t~ret5#1.base, basename_#t~ret5#1.offset; 21943#L518 assume !(basename_~c~0#1.base == 0 && basename_~c~0#1.offset == 0);havoc basename_#t~ret5#1.base, basename_#t~ret5#1.offset;call basename_#t~mem6#1 := read~int#0(basename_~c~0#1.base, 1 + basename_~c~0#1.offset, 1); 21939#L519 assume 0 == basename_#t~mem6#1;havoc basename_#t~mem6#1; 21928#L520 assume !(basename_~c~0#1.base == basename_~path#1.base && basename_~c~0#1.offset == basename_~path#1.offset);call write~int#0(0, basename_~c~0#1.base, basename_~c~0#1.offset, 1); 21926#L517 assume { :begin_inline_strrchr } true;strrchr_#in~t#1.base, strrchr_#in~t#1.offset, strrchr_#in~c#1 := basename_~path#1.base, basename_~path#1.offset, 47;havoc strrchr_#res#1.base, strrchr_#res#1.offset;havoc strrchr_#t~mem2#1, strrchr_#t~mem3#1, strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset, strrchr_~t#1.base, strrchr_~t#1.offset, strrchr_~c#1, strrchr_~ch~0#1, strrchr_~l~0#1.base, strrchr_~l~0#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_#in~t#1.base, strrchr_#in~t#1.offset;strrchr_~c#1 := strrchr_#in~c#1;havoc strrchr_~ch~0#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := 0, 0;strrchr_~ch~0#1 := (if strrchr_~c#1 % 256 <= 127 then strrchr_~c#1 % 256 else strrchr_~c#1 % 256 - 256); 21924#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21921#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 21917#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21918#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 21909#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21910#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 22389#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 22533#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 22532#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 22530#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 22529#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 22528#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 22527#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 22525#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 22524#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 22523#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 22522#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 22521#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 22520#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 22519#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 22518#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 22517#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 22516#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 22515#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 22514#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 22513#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 22512#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 22511#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 22510#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 22509#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 22504#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 22502#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 22498#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 22495#L511 assume strrchr_#t~mem2#1 == strrchr_~ch~0#1;havoc strrchr_#t~mem2#1;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 22493#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 22491#L511-3 assume !(0 == strrchr_#t~mem3#1);havoc strrchr_#t~mem3#1;strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;strrchr_~t#1.base, strrchr_~t#1.offset := strrchr_~t#1.base, 1 + strrchr_~t#1.offset;havoc strrchr_#t~pre4#1.base, strrchr_#t~pre4#1.offset; 22489#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 22486#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 22483#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 22472#L511-3 assume 0 == strrchr_#t~mem3#1;havoc strrchr_#t~mem3#1;strrchr_#res#1.base, strrchr_#res#1.offset := strrchr_~l~0#1.base, strrchr_~l~0#1.offset; 21947#strrchr_returnLabel#1 [2024-11-23 02:10:31,469 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:10:31,469 INFO L85 PathProgramCache]: Analyzing trace with hash 1281042049, now seen corresponding path program 17 times [2024-11-23 02:10:31,470 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:10:31,470 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1404407381] [2024-11-23 02:10:31,470 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2024-11-23 02:10:31,470 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:10:31,480 INFO L227 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 10 check-sat command(s) [2024-11-23 02:10:31,480 INFO L228 tOrderPrioritization]: Conjunction of SSA is sat [2024-11-23 02:10:31,481 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-23 02:10:31,486 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:10:31,489 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-23 02:10:31,489 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:10:31,489 INFO L85 PathProgramCache]: Analyzing trace with hash -135274832, now seen corresponding path program 18 times [2024-11-23 02:10:31,489 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:10:31,489 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1681691857] [2024-11-23 02:10:31,489 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2024-11-23 02:10:31,489 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:10:31,502 INFO L227 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 10 check-sat command(s) [2024-11-23 02:10:31,503 INFO L228 tOrderPrioritization]: Conjunction of SSA is sat [2024-11-23 02:10:31,503 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-23 02:10:31,507 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-23 02:10:31,510 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-23 02:10:31,511 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-23 02:10:31,511 INFO L85 PathProgramCache]: Analyzing trace with hash -29276112, now seen corresponding path program 18 times [2024-11-23 02:10:31,511 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-23 02:10:31,511 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [834307687] [2024-11-23 02:10:31,511 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2024-11-23 02:10:31,511 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-23 02:10:31,537 INFO L227 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 11 check-sat command(s) [2024-11-23 02:10:31,537 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-23 02:10:32,506 INFO L134 CoverageAnalysis]: Checked inductivity of 761 backedges. 111 proven. 648 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-11-23 02:10:32,507 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-23 02:10:32,507 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [834307687] [2024-11-23 02:10:32,507 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [834307687] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-23 02:10:32,507 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2137196391] [2024-11-23 02:10:32,507 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2024-11-23 02:10:32,507 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-23 02:10:32,507 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-23 02:10:32,508 INFO L229 MonitoredProcess]: Starting monitored process 73 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-23 02:10:32,509 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (73)] Waiting until timeout for monitored process [2024-11-23 02:10:32,714 INFO L227 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 11 check-sat command(s) [2024-11-23 02:10:32,714 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-23 02:10:32,717 INFO L255 TraceCheckSpWp]: Trace formula consists of 518 conjuncts, 131 conjuncts are in the unsatisfiable core [2024-11-23 02:10:32,720 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-23 02:10:33,071 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2024-11-23 02:10:33,507 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-11-23 02:10:33,507 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 23 treesize of output 11 [2024-11-23 02:10:33,543 INFO L134 CoverageAnalysis]: Checked inductivity of 761 backedges. 111 proven. 646 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-11-23 02:10:33,543 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-23 02:10:33,722 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-11-23 02:10:33,722 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 133 treesize of output 103 [2024-11-23 02:10:34,271 INFO L134 CoverageAnalysis]: Checked inductivity of 761 backedges. 111 proven. 646 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-11-23 02:10:34,271 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2137196391] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-23 02:10:34,272 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-23 02:10:34,272 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [30, 29, 28] total 72 [2024-11-23 02:10:34,272 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [231259669] [2024-11-23 02:10:34,272 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-23 02:10:35,162 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-23 02:10:35,163 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 72 interpolants. [2024-11-23 02:10:35,164 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=244, Invalid=4868, Unknown=0, NotChecked=0, Total=5112 [2024-11-23 02:10:35,164 INFO L87 Difference]: Start difference. First operand 1006 states and 1249 transitions. cyclomatic complexity: 263 Second operand has 72 states, 72 states have (on average 3.0277777777777777) internal successors, (218), 72 states have internal predecessors, (218), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0)