./Ultimate.py --spec /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/properties/termination.prp --file /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/termination-dietlibc/basename-3.i --full-output --architecture 64bit -------------------------------------------------------------------------------- Checking for termination Using default analysis Version 61a67961 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 /storage/repos/ultimate/releaseScripts/default/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-wip.fs.cvc5-61a6796-m [2024-10-15 00:13:31,590 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-10-15 00:13:31,639 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Termination-64bit-Automizer_Default.epf [2024-10-15 00:13:31,644 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-10-15 00:13:31,644 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-10-15 00:13:31,664 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-10-15 00:13:31,665 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-10-15 00:13:31,666 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-10-15 00:13:31,666 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2024-10-15 00:13:31,669 INFO L153 SettingsManager]: * Use memory slicer=true [2024-10-15 00:13:31,669 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-10-15 00:13:31,670 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-10-15 00:13:31,670 INFO L153 SettingsManager]: * Use SBE=true [2024-10-15 00:13:31,670 INFO L151 SettingsManager]: Preferences of BuchiAutomizer differ from their defaults: [2024-10-15 00:13:31,670 INFO L153 SettingsManager]: * NCSB implementation=INTSET_LAZY3 [2024-10-15 00:13:31,670 INFO L153 SettingsManager]: * Use old map elimination=false [2024-10-15 00:13:31,670 INFO L153 SettingsManager]: * Use external solver (rank synthesis)=false [2024-10-15 00:13:31,671 INFO L153 SettingsManager]: * Use only trivial implications for array writes=true [2024-10-15 00:13:31,671 INFO L153 SettingsManager]: * Rank analysis=LINEAR_WITH_GUESSES [2024-10-15 00:13:31,671 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-10-15 00:13:31,671 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=ASSUME [2024-10-15 00:13:31,673 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2024-10-15 00:13:31,673 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-10-15 00:13:31,673 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=ASSUME [2024-10-15 00:13:31,674 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=ASSUME [2024-10-15 00:13:31,674 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=ASSUME [2024-10-15 00:13:31,674 INFO L153 SettingsManager]: * Allow undefined functions=false [2024-10-15 00:13:31,674 INFO L153 SettingsManager]: * Check unreachability of reach_error function=false [2024-10-15 00:13:31,674 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-10-15 00:13:31,674 INFO L153 SettingsManager]: * Assume nondeterminstic values are in range=false [2024-10-15 00:13:31,674 INFO L153 SettingsManager]: * Use constant arrays=true [2024-10-15 00:13:31,675 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-10-15 00:13:31,675 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-10-15 00:13:31,675 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-10-15 00:13:31,675 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2024-10-15 00:13:31,676 INFO L151 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2024-10-15 00:13:31,676 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-10-15 00:13:31,916 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-10-15 00:13:31,935 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-10-15 00:13:31,936 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-10-15 00:13:31,938 INFO L270 PluginConnector]: Initializing CDTParser... [2024-10-15 00:13:31,938 INFO L274 PluginConnector]: CDTParser initialized [2024-10-15 00:13:31,939 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/termination-dietlibc/basename-3.i [2024-10-15 00:13:33,123 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-10-15 00:13:33,341 INFO L384 CDTParser]: Found 1 translation units. [2024-10-15 00:13:33,341 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/termination-dietlibc/basename-3.i [2024-10-15 00:13:33,358 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/234e8b8f5/48a36441faf0404993a3b173ea47d48b/FLAG05eb7dfd8 [2024-10-15 00:13:33,371 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/234e8b8f5/48a36441faf0404993a3b173ea47d48b [2024-10-15 00:13:33,374 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-10-15 00:13:33,375 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2024-10-15 00:13:33,376 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-10-15 00:13:33,377 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-10-15 00:13:33,381 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-10-15 00:13:33,382 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.10 12:13:33" (1/1) ... [2024-10-15 00:13:33,383 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@77a8ed8c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.10 12:13:33, skipping insertion in model container [2024-10-15 00:13:33,384 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.10 12:13:33" (1/1) ... [2024-10-15 00:13:33,417 INFO L175 MainTranslator]: Built tables and reachable declarations [2024-10-15 00:13:33,631 INFO L210 PostProcessor]: Analyzing one entry point: main [2024-10-15 00:13:33,643 INFO L200 MainTranslator]: Completed pre-run [2024-10-15 00:13:33,683 INFO L210 PostProcessor]: Analyzing one entry point: main [2024-10-15 00:13:33,707 INFO L204 MainTranslator]: Completed translation [2024-10-15 00:13:33,708 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.10 12:13:33 WrapperNode [2024-10-15 00:13:33,708 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-10-15 00:13:33,709 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2024-10-15 00:13:33,709 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2024-10-15 00:13:33,709 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2024-10-15 00:13:33,714 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.10 12:13:33" (1/1) ... [2024-10-15 00:13:33,723 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.10 12:13:33" (1/1) ... [2024-10-15 00:13:33,740 INFO L138 Inliner]: procedures = 114, calls = 12, calls flagged for inlining = 4, calls inlined = 4, statements flattened = 66 [2024-10-15 00:13:33,740 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2024-10-15 00:13:33,741 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-10-15 00:13:33,741 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-10-15 00:13:33,741 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-10-15 00:13:33,749 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.10 12:13:33" (1/1) ... [2024-10-15 00:13:33,751 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.10 12:13:33" (1/1) ... [2024-10-15 00:13:33,753 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.10 12:13:33" (1/1) ... [2024-10-15 00:13:33,769 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-10-15 00:13:33,770 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.10 12:13:33" (1/1) ... [2024-10-15 00:13:33,770 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.10 12:13:33" (1/1) ... [2024-10-15 00:13:33,776 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.10 12:13:33" (1/1) ... [2024-10-15 00:13:33,779 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.10 12:13:33" (1/1) ... [2024-10-15 00:13:33,780 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.10 12:13:33" (1/1) ... [2024-10-15 00:13:33,781 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.10 12:13:33" (1/1) ... [2024-10-15 00:13:33,782 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-10-15 00:13:33,787 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2024-10-15 00:13:33,787 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2024-10-15 00:13:33,787 INFO L274 PluginConnector]: RCFGBuilder initialized [2024-10-15 00:13:33,788 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.10 12:13:33" (1/1) ... [2024-10-15 00:13:33,792 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-15 00:13:33,800 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:13:33,816 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-10-15 00:13:33,818 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-10-15 00:13:33,857 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#0 [2024-10-15 00:13:33,858 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#0 [2024-10-15 00:13:33,858 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2024-10-15 00:13:33,859 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2024-10-15 00:13:33,859 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-10-15 00:13:33,859 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-10-15 00:13:33,937 INFO L238 CfgBuilder]: Building ICFG [2024-10-15 00:13:33,939 INFO L264 CfgBuilder]: Building CFG for each procedure with an implementation [2024-10-15 00:13:34,081 INFO L? ?]: Removed 33 outVars from TransFormulas that were not future-live. [2024-10-15 00:13:34,081 INFO L287 CfgBuilder]: Performing block encoding [2024-10-15 00:13:34,090 INFO L309 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2024-10-15 00:13:34,090 INFO L314 CfgBuilder]: Removed 1 assume(true) statements. [2024-10-15 00:13:34,090 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.10 12:13:34 BoogieIcfgContainer [2024-10-15 00:13:34,090 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2024-10-15 00:13:34,091 INFO L112 PluginConnector]: ------------------------BuchiAutomizer---------------------------- [2024-10-15 00:13:34,091 INFO L270 PluginConnector]: Initializing BuchiAutomizer... [2024-10-15 00:13:34,095 INFO L274 PluginConnector]: BuchiAutomizer initialized [2024-10-15 00:13:34,095 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2024-10-15 00:13:34,096 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "CDTParser AST 15.10 12:13:33" (1/3) ... [2024-10-15 00:13:34,096 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@2a005f92 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 15.10 12:13:34, skipping insertion in model container [2024-10-15 00:13:34,096 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2024-10-15 00:13:34,096 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.10 12:13:33" (2/3) ... [2024-10-15 00:13:34,097 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@2a005f92 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 15.10 12:13:34, skipping insertion in model container [2024-10-15 00:13:34,097 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2024-10-15 00:13:34,097 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.10 12:13:34" (3/3) ... [2024-10-15 00:13:34,098 INFO L332 chiAutomizerObserver]: Analyzing ICFG basename-3.i [2024-10-15 00:13:34,139 INFO L300 stractBuchiCegarLoop]: Interprodecural is true [2024-10-15 00:13:34,139 INFO L301 stractBuchiCegarLoop]: Hoare is None [2024-10-15 00:13:34,139 INFO L302 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2024-10-15 00:13:34,139 INFO L303 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2024-10-15 00:13:34,139 INFO L304 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2024-10-15 00:13:34,139 INFO L305 stractBuchiCegarLoop]: Difference is false [2024-10-15 00:13:34,139 INFO L306 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2024-10-15 00:13:34,140 INFO L310 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2024-10-15 00:13:34,142 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-10-15 00:13:34,154 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 9 [2024-10-15 00:13:34,154 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-15 00:13:34,154 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-15 00:13:34,158 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2024-10-15 00:13:34,158 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-10-15 00:13:34,159 INFO L332 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2024-10-15 00:13:34,159 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-10-15 00:13:34,160 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 9 [2024-10-15 00:13:34,160 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-15 00:13:34,160 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-15 00:13:34,160 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2024-10-15 00:13:34,160 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1] [2024-10-15 00:13:34,166 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-10-15 00:13:34,166 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-10-15 00:13:34,173 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:13:34,173 INFO L85 PathProgramCache]: Analyzing trace with hash 29860, now seen corresponding path program 1 times [2024-10-15 00:13:34,180 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:13:34,181 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [963260685] [2024-10-15 00:13:34,181 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:13:34,183 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:13:34,284 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:13:34,285 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-15 00:13:34,303 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:13:34,320 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-15 00:13:34,324 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:13:34,324 INFO L85 PathProgramCache]: Analyzing trace with hash 1171953214, now seen corresponding path program 1 times [2024-10-15 00:13:34,324 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:13:34,325 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1180181903] [2024-10-15 00:13:34,325 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:13:34,325 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:13:34,338 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-15 00:13:34,369 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-10-15 00:13:34,369 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-15 00:13:34,369 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1180181903] [2024-10-15 00:13:34,370 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1180181903] provided 1 perfect and 0 imperfect interpolant sequences [2024-10-15 00:13:34,370 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-10-15 00:13:34,370 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2024-10-15 00:13:34,371 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1435929504] [2024-10-15 00:13:34,372 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-10-15 00:13:34,378 INFO L762 eck$LassoCheckResult]: loop already infeasible [2024-10-15 00:13:34,379 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-15 00:13:34,401 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2024-10-15 00:13:34,401 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2024-10-15 00:13:34,402 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-10-15 00:13:34,406 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-15 00:13:34,406 INFO L93 Difference]: Finished difference Result 16 states and 21 transitions. [2024-10-15 00:13:34,407 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 16 states and 21 transitions. [2024-10-15 00:13:34,408 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 9 [2024-10-15 00:13:34,411 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 16 states to 12 states and 14 transitions. [2024-10-15 00:13:34,411 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 12 [2024-10-15 00:13:34,412 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 12 [2024-10-15 00:13:34,412 INFO L73 IsDeterministic]: Start isDeterministic. Operand 12 states and 14 transitions. [2024-10-15 00:13:34,413 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-10-15 00:13:34,413 INFO L218 hiAutomatonCegarLoop]: Abstraction has 12 states and 14 transitions. [2024-10-15 00:13:34,425 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 12 states and 14 transitions. [2024-10-15 00:13:34,430 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 12 to 12. [2024-10-15 00:13:34,430 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-10-15 00:13:34,430 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 14 transitions. [2024-10-15 00:13:34,431 INFO L240 hiAutomatonCegarLoop]: Abstraction has 12 states and 14 transitions. [2024-10-15 00:13:34,432 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-10-15 00:13:34,434 INFO L425 stractBuchiCegarLoop]: Abstraction has 12 states and 14 transitions. [2024-10-15 00:13:34,434 INFO L332 stractBuchiCegarLoop]: ======== Iteration 2 ============ [2024-10-15 00:13:34,434 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 12 states and 14 transitions. [2024-10-15 00:13:34,435 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 9 [2024-10-15 00:13:34,435 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-15 00:13:34,435 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-15 00:13:34,435 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2024-10-15 00:13:34,435 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-10-15 00:13:34,435 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-10-15 00:13:34,436 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-10-15 00:13:34,436 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:13:34,436 INFO L85 PathProgramCache]: Analyzing trace with hash 29860, now seen corresponding path program 2 times [2024-10-15 00:13:34,436 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:13:34,436 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [318855529] [2024-10-15 00:13:34,436 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:13:34,436 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:13:34,447 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:13:34,448 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-15 00:13:34,458 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:13:34,463 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-15 00:13:34,465 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:13:34,465 INFO L85 PathProgramCache]: Analyzing trace with hash -487094312, now seen corresponding path program 1 times [2024-10-15 00:13:34,465 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:13:34,465 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1852783253] [2024-10-15 00:13:34,465 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:13:34,465 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:13:34,487 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-15 00:13:34,707 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-10-15 00:13:34,707 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-15 00:13:34,707 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1852783253] [2024-10-15 00:13:34,708 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1852783253] provided 1 perfect and 0 imperfect interpolant sequences [2024-10-15 00:13:34,708 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-10-15 00:13:34,708 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2024-10-15 00:13:34,708 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [864382126] [2024-10-15 00:13:34,708 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-10-15 00:13:34,708 INFO L762 eck$LassoCheckResult]: loop already infeasible [2024-10-15 00:13:34,708 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-15 00:13:34,709 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2024-10-15 00:13:34,709 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2024-10-15 00:13:34,709 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-10-15 00:13:34,808 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-15 00:13:34,809 INFO L93 Difference]: Finished difference Result 28 states and 34 transitions. [2024-10-15 00:13:34,809 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 28 states and 34 transitions. [2024-10-15 00:13:34,811 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 20 [2024-10-15 00:13:34,811 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 28 states to 23 states and 28 transitions. [2024-10-15 00:13:34,811 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 23 [2024-10-15 00:13:34,812 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 23 [2024-10-15 00:13:34,812 INFO L73 IsDeterministic]: Start isDeterministic. Operand 23 states and 28 transitions. [2024-10-15 00:13:34,812 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-10-15 00:13:34,812 INFO L218 hiAutomatonCegarLoop]: Abstraction has 23 states and 28 transitions. [2024-10-15 00:13:34,812 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 23 states and 28 transitions. [2024-10-15 00:13:34,813 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 23 to 18. [2024-10-15 00:13:34,814 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-10-15 00:13:34,814 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 22 transitions. [2024-10-15 00:13:34,814 INFO L240 hiAutomatonCegarLoop]: Abstraction has 18 states and 22 transitions. [2024-10-15 00:13:34,815 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2024-10-15 00:13:34,816 INFO L425 stractBuchiCegarLoop]: Abstraction has 18 states and 22 transitions. [2024-10-15 00:13:34,816 INFO L332 stractBuchiCegarLoop]: ======== Iteration 3 ============ [2024-10-15 00:13:34,816 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 18 states and 22 transitions. [2024-10-15 00:13:34,817 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 15 [2024-10-15 00:13:34,817 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-15 00:13:34,817 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-15 00:13:34,818 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2024-10-15 00:13:34,819 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-10-15 00:13:34,820 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-10-15 00:13:34,820 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-10-15 00:13:34,822 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:13:34,822 INFO L85 PathProgramCache]: Analyzing trace with hash 29860, now seen corresponding path program 3 times [2024-10-15 00:13:34,822 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:13:34,823 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [601108403] [2024-10-15 00:13:34,823 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:13:34,824 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:13:34,836 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:13:34,836 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-15 00:13:34,842 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:13:34,844 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-15 00:13:34,845 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:13:34,845 INFO L85 PathProgramCache]: Analyzing trace with hash 1287913050, now seen corresponding path program 1 times [2024-10-15 00:13:34,845 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:13:34,845 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [522515976] [2024-10-15 00:13:34,845 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:13:34,846 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:13:34,864 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-15 00:13:35,034 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-10-15 00:13:35,034 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-15 00:13:35,034 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [522515976] [2024-10-15 00:13:35,034 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [522515976] provided 1 perfect and 0 imperfect interpolant sequences [2024-10-15 00:13:35,035 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-10-15 00:13:35,035 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2024-10-15 00:13:35,035 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1871233895] [2024-10-15 00:13:35,035 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-10-15 00:13:35,035 INFO L762 eck$LassoCheckResult]: loop already infeasible [2024-10-15 00:13:35,035 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-15 00:13:35,035 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2024-10-15 00:13:35,036 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2024-10-15 00:13:35,036 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-10-15 00:13:35,072 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-15 00:13:35,072 INFO L93 Difference]: Finished difference Result 26 states and 31 transitions. [2024-10-15 00:13:35,072 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 26 states and 31 transitions. [2024-10-15 00:13:35,073 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 19 [2024-10-15 00:13:35,073 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 26 states to 22 states and 27 transitions. [2024-10-15 00:13:35,073 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 22 [2024-10-15 00:13:35,073 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 22 [2024-10-15 00:13:35,073 INFO L73 IsDeterministic]: Start isDeterministic. Operand 22 states and 27 transitions. [2024-10-15 00:13:35,074 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-10-15 00:13:35,074 INFO L218 hiAutomatonCegarLoop]: Abstraction has 22 states and 27 transitions. [2024-10-15 00:13:35,074 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 22 states and 27 transitions. [2024-10-15 00:13:35,075 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 22 to 18. [2024-10-15 00:13:35,075 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-10-15 00:13:35,075 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 22 transitions. [2024-10-15 00:13:35,076 INFO L240 hiAutomatonCegarLoop]: Abstraction has 18 states and 22 transitions. [2024-10-15 00:13:35,076 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-10-15 00:13:35,076 INFO L425 stractBuchiCegarLoop]: Abstraction has 18 states and 22 transitions. [2024-10-15 00:13:35,077 INFO L332 stractBuchiCegarLoop]: ======== Iteration 4 ============ [2024-10-15 00:13:35,077 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 18 states and 22 transitions. [2024-10-15 00:13:35,077 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 15 [2024-10-15 00:13:35,077 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-15 00:13:35,077 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-15 00:13:35,077 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2024-10-15 00:13:35,078 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1] [2024-10-15 00:13:35,078 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-10-15 00:13:35,078 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-10-15 00:13:35,078 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:13:35,078 INFO L85 PathProgramCache]: Analyzing trace with hash 29860, now seen corresponding path program 4 times [2024-10-15 00:13:35,078 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:13:35,078 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1218157957] [2024-10-15 00:13:35,078 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:13:35,079 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:13:35,087 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:13:35,092 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-15 00:13:35,099 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:13:35,100 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-15 00:13:35,101 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:13:35,101 INFO L85 PathProgramCache]: Analyzing trace with hash 1065055040, now seen corresponding path program 1 times [2024-10-15 00:13:35,101 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:13:35,101 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [598007574] [2024-10-15 00:13:35,102 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:13:35,102 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:13:35,109 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-15 00:13:35,274 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-10-15 00:13:35,274 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-15 00:13:35,275 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [598007574] [2024-10-15 00:13:35,275 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [598007574] provided 0 perfect and 1 imperfect interpolant sequences [2024-10-15 00:13:35,275 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1464841779] [2024-10-15 00:13:35,275 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:13:35,275 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-10-15 00:13:35,275 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:13:35,281 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-10-15 00:13:35,284 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-10-15 00:13:35,350 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-15 00:13:35,352 INFO L255 TraceCheckSpWp]: Trace formula consists of 93 conjuncts, 15 conjuncts are in the unsatisfiable core [2024-10-15 00:13:35,355 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-10-15 00:13:35,529 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-10-15 00:13:35,533 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-10-15 00:13:35,533 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-10-15 00:13:35,676 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 1 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-10-15 00:13:35,677 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1464841779] provided 0 perfect and 2 imperfect interpolant sequences [2024-10-15 00:13:35,677 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-10-15 00:13:35,677 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9, 9] total 17 [2024-10-15 00:13:35,677 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [110703555] [2024-10-15 00:13:35,677 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-10-15 00:13:35,677 INFO L762 eck$LassoCheckResult]: loop already infeasible [2024-10-15 00:13:35,678 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-15 00:13:35,678 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2024-10-15 00:13:35,678 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=62, Invalid=210, Unknown=0, NotChecked=0, Total=272 [2024-10-15 00:13:35,678 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-10-15 00:13:35,786 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-15 00:13:35,786 INFO L93 Difference]: Finished difference Result 26 states and 31 transitions. [2024-10-15 00:13:35,786 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 26 states and 31 transitions. [2024-10-15 00:13:35,786 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 23 [2024-10-15 00:13:35,787 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 26 states to 26 states and 31 transitions. [2024-10-15 00:13:35,787 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 26 [2024-10-15 00:13:35,787 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 26 [2024-10-15 00:13:35,787 INFO L73 IsDeterministic]: Start isDeterministic. Operand 26 states and 31 transitions. [2024-10-15 00:13:35,789 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-10-15 00:13:35,789 INFO L218 hiAutomatonCegarLoop]: Abstraction has 26 states and 31 transitions. [2024-10-15 00:13:35,789 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 26 states and 31 transitions. [2024-10-15 00:13:35,790 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 26 to 20. [2024-10-15 00:13:35,790 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-10-15 00:13:35,790 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 24 transitions. [2024-10-15 00:13:35,791 INFO L240 hiAutomatonCegarLoop]: Abstraction has 20 states and 24 transitions. [2024-10-15 00:13:35,791 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2024-10-15 00:13:35,792 INFO L425 stractBuchiCegarLoop]: Abstraction has 20 states and 24 transitions. [2024-10-15 00:13:35,792 INFO L332 stractBuchiCegarLoop]: ======== Iteration 5 ============ [2024-10-15 00:13:35,792 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 20 states and 24 transitions. [2024-10-15 00:13:35,792 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 17 [2024-10-15 00:13:35,793 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-15 00:13:35,793 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-15 00:13:35,793 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2024-10-15 00:13:35,793 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1] [2024-10-15 00:13:35,793 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-10-15 00:13:35,793 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-10-15 00:13:35,793 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:13:35,793 INFO L85 PathProgramCache]: Analyzing trace with hash 29860, now seen corresponding path program 5 times [2024-10-15 00:13:35,794 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:13:35,794 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1811130953] [2024-10-15 00:13:35,794 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:13:35,794 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:13:35,804 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:13:35,804 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-15 00:13:35,806 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:13:35,810 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-15 00:13:35,810 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:13:35,811 INFO L85 PathProgramCache]: Analyzing trace with hash 26730794, now seen corresponding path program 1 times [2024-10-15 00:13:35,811 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:13:35,811 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [533387740] [2024-10-15 00:13:35,811 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:13:35,811 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:13:35,822 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:13:35,822 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-15 00:13:35,829 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:13:35,833 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-15 00:13:35,835 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:13:35,836 INFO L85 PathProgramCache]: Analyzing trace with hash 1156638439, now seen corresponding path program 1 times [2024-10-15 00:13:35,836 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:13:35,836 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1468982187] [2024-10-15 00:13:35,836 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:13:35,836 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:13:35,852 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:13:35,854 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-15 00:13:35,865 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:13:35,869 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-15 00:13:36,423 INFO L204 LassoAnalysis]: Preferences: [2024-10-15 00:13:36,424 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2024-10-15 00:13:36,424 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2024-10-15 00:13:36,424 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2024-10-15 00:13:36,424 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2024-10-15 00:13:36,424 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-15 00:13:36,424 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2024-10-15 00:13:36,424 INFO L131 ssoRankerPreferences]: Path of dumped script: [2024-10-15 00:13:36,424 INFO L132 ssoRankerPreferences]: Filename of dumped script: basename-3.i_Iteration5_Lasso [2024-10-15 00:13:36,424 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2024-10-15 00:13:36,424 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2024-10-15 00:13:36,440 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:36,446 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:36,450 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:36,453 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:36,455 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:36,457 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:36,460 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:36,462 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:36,466 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:36,469 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:36,474 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:36,477 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:36,480 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:36,482 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:36,484 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:36,487 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:36,489 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:36,491 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:36,493 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:36,609 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:36,611 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:36,614 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:36,616 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:36,618 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:36,620 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:36,623 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:36,625 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:36,627 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:36,629 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:36,631 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:36,633 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:36,851 INFO L259 LassoAnalysis]: Preprocessing complete. [2024-10-15 00:13:36,854 INFO L451 LassoAnalysis]: Using template 'affine'. [2024-10-15 00:13:36,855 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-15 00:13:36,855 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:13:36,857 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-10-15 00:13:36,859 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-10-15 00:13:36,860 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-10-15 00:13:36,872 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-10-15 00:13:36,872 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-10-15 00:13:36,872 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-10-15 00:13:36,873 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-10-15 00:13:36,873 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-10-15 00:13:36,874 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-10-15 00:13:36,874 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-10-15 00:13:36,875 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-10-15 00:13:36,888 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (3)] Ended with exit code 0 [2024-10-15 00:13:36,889 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-15 00:13:36,889 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:13:36,891 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-10-15 00:13:36,893 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-10-15 00:13:36,894 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-10-15 00:13:36,905 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-10-15 00:13:36,905 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-10-15 00:13:36,906 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-10-15 00:13:36,906 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-10-15 00:13:36,906 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-10-15 00:13:36,906 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-10-15 00:13:36,906 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-10-15 00:13:36,908 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-10-15 00:13:36,924 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-10-15 00:13:36,925 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-15 00:13:36,925 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:13:36,929 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-10-15 00:13:36,930 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-10-15 00:13:36,931 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-10-15 00:13:36,942 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-10-15 00:13:36,942 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-10-15 00:13:36,942 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-10-15 00:13:36,942 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-10-15 00:13:36,943 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-10-15 00:13:36,944 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-10-15 00:13:36,944 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-10-15 00:13:36,945 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-10-15 00:13:36,957 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (5)] Ended with exit code 0 [2024-10-15 00:13:36,958 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-15 00:13:36,958 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:13:36,960 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-10-15 00:13:36,981 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-10-15 00:13:36,983 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-10-15 00:13:36,995 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-10-15 00:13:36,995 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-10-15 00:13:36,995 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-10-15 00:13:36,995 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-10-15 00:13:36,995 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-10-15 00:13:36,996 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-10-15 00:13:36,996 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-10-15 00:13:36,997 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-10-15 00:13:37,009 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (6)] Forceful destruction successful, exit code 0 [2024-10-15 00:13:37,010 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-15 00:13:37,010 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:13:37,011 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-10-15 00:13:37,013 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-10-15 00:13:37,016 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-10-15 00:13:37,027 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-10-15 00:13:37,027 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-10-15 00:13:37,027 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-10-15 00:13:37,027 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-10-15 00:13:37,027 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-10-15 00:13:37,028 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-10-15 00:13:37,028 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-10-15 00:13:37,029 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-10-15 00:13:37,041 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-10-15 00:13:37,041 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-15 00:13:37,041 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:13:37,043 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-10-15 00:13:37,044 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-10-15 00:13:37,045 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-10-15 00:13:37,056 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-10-15 00:13:37,056 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-10-15 00:13:37,056 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-10-15 00:13:37,056 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-10-15 00:13:37,056 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-10-15 00:13:37,057 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-10-15 00:13:37,058 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-10-15 00:13:37,059 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-10-15 00:13:37,069 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-10-15 00:13:37,070 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-15 00:13:37,070 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:13:37,071 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-10-15 00:13:37,073 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-10-15 00:13:37,073 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-10-15 00:13:37,083 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-10-15 00:13:37,083 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-10-15 00:13:37,083 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-10-15 00:13:37,083 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-10-15 00:13:37,084 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-10-15 00:13:37,085 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-10-15 00:13:37,085 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-10-15 00:13:37,086 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-10-15 00:13:37,096 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-10-15 00:13:37,097 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-15 00:13:37,097 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:13:37,099 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-10-15 00:13:37,100 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-10-15 00:13:37,100 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-10-15 00:13:37,110 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-10-15 00:13:37,110 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-10-15 00:13:37,111 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-10-15 00:13:37,111 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-10-15 00:13:37,111 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-10-15 00:13:37,111 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-10-15 00:13:37,111 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-10-15 00:13:37,112 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-10-15 00:13:37,124 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (10)] Ended with exit code 0 [2024-10-15 00:13:37,124 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-15 00:13:37,124 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:13:37,126 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-10-15 00:13:37,126 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-10-15 00:13:37,127 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-10-15 00:13:37,137 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-10-15 00:13:37,138 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-10-15 00:13:37,138 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-10-15 00:13:37,138 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-10-15 00:13:37,138 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-10-15 00:13:37,138 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-10-15 00:13:37,139 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-10-15 00:13:37,140 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-10-15 00:13:37,151 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (11)] Forceful destruction successful, exit code 0 [2024-10-15 00:13:37,152 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-15 00:13:37,152 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:13:37,153 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-10-15 00:13:37,154 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-10-15 00:13:37,155 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-10-15 00:13:37,165 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-10-15 00:13:37,165 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-10-15 00:13:37,165 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-10-15 00:13:37,165 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-10-15 00:13:37,165 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-10-15 00:13:37,166 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-10-15 00:13:37,166 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-10-15 00:13:37,167 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-10-15 00:13:37,178 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (12)] Forceful destruction successful, exit code 0 [2024-10-15 00:13:37,179 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-15 00:13:37,179 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:13:37,180 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-10-15 00:13:37,181 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-10-15 00:13:37,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-10-15 00:13:37,192 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-10-15 00:13:37,192 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-10-15 00:13:37,193 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-10-15 00:13:37,193 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-10-15 00:13:37,193 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-10-15 00:13:37,194 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-10-15 00:13:37,194 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-10-15 00:13:37,195 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-10-15 00:13:37,206 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-10-15 00:13:37,206 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-15 00:13:37,206 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:13:37,207 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-10-15 00:13:37,208 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-10-15 00:13:37,208 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-10-15 00:13:37,218 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-10-15 00:13:37,218 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-10-15 00:13:37,218 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-10-15 00:13:37,218 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-10-15 00:13:37,218 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-10-15 00:13:37,218 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-10-15 00:13:37,218 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-10-15 00:13:37,220 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-10-15 00:13:37,231 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-10-15 00:13:37,232 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-15 00:13:37,232 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:13:37,233 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-10-15 00:13:37,234 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-10-15 00:13:37,235 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-10-15 00:13:37,246 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-10-15 00:13:37,246 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-10-15 00:13:37,246 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-10-15 00:13:37,246 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-10-15 00:13:37,246 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-10-15 00:13:37,246 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-10-15 00:13:37,246 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-10-15 00:13:37,247 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-10-15 00:13:37,257 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (15)] Forceful destruction successful, exit code 0 [2024-10-15 00:13:37,258 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-15 00:13:37,258 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:13:37,259 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-10-15 00:13:37,260 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-10-15 00:13:37,261 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-10-15 00:13:37,271 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-10-15 00:13:37,271 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-10-15 00:13:37,271 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-10-15 00:13:37,272 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-10-15 00:13:37,272 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-10-15 00:13:37,272 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-10-15 00:13:37,272 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-10-15 00:13:37,273 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-10-15 00:13:37,284 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (16)] Forceful destruction successful, exit code 0 [2024-10-15 00:13:37,284 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-15 00:13:37,284 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:13:37,285 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-10-15 00:13:37,286 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-10-15 00:13:37,287 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-10-15 00:13:37,296 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-10-15 00:13:37,296 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-10-15 00:13:37,296 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-10-15 00:13:37,296 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-10-15 00:13:37,296 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-10-15 00:13:37,297 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-10-15 00:13:37,297 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-10-15 00:13:37,298 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-10-15 00:13:37,308 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (17)] Forceful destruction successful, exit code 0 [2024-10-15 00:13:37,309 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-15 00:13:37,309 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:13:37,310 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-10-15 00:13:37,311 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-10-15 00:13:37,312 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-10-15 00:13:37,321 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-10-15 00:13:37,321 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-10-15 00:13:37,321 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-10-15 00:13:37,321 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-10-15 00:13:37,321 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-10-15 00:13:37,322 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-10-15 00:13:37,322 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-10-15 00:13:37,323 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-10-15 00:13:37,333 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-10-15 00:13:37,333 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-15 00:13:37,333 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:13:37,334 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-10-15 00:13:37,335 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-10-15 00:13:37,336 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-10-15 00:13:37,345 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-10-15 00:13:37,346 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-10-15 00:13:37,346 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-10-15 00:13:37,346 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-10-15 00:13:37,346 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-10-15 00:13:37,347 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-10-15 00:13:37,347 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-10-15 00:13:37,348 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-10-15 00:13:37,359 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-10-15 00:13:37,360 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-15 00:13:37,360 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:13:37,361 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-10-15 00:13:37,362 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-10-15 00:13:37,363 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-10-15 00:13:37,374 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-10-15 00:13:37,374 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-10-15 00:13:37,374 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-10-15 00:13:37,374 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-10-15 00:13:37,374 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-10-15 00:13:37,375 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-10-15 00:13:37,375 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-10-15 00:13:37,376 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-10-15 00:13:37,394 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-10-15 00:13:37,394 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-15 00:13:37,394 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:13:37,395 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-10-15 00:13:37,396 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-10-15 00:13:37,399 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-10-15 00:13:37,409 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-10-15 00:13:37,409 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-10-15 00:13:37,409 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-10-15 00:13:37,410 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-10-15 00:13:37,410 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-10-15 00:13:37,411 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-10-15 00:13:37,411 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-10-15 00:13:37,412 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2024-10-15 00:13:37,416 INFO L443 ModelExtractionUtils]: Simplification made 2 calls to the SMT solver. [2024-10-15 00:13:37,416 INFO L444 ModelExtractionUtils]: 1 out of 3 variables were initially zero. Simplification set additionally 0 variables to zero. [2024-10-15 00:13:37,417 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-15 00:13:37,417 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:13:37,423 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-10-15 00:13:37,423 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-10-15 00:13:37,424 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2024-10-15 00:13:37,424 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2024-10-15 00:13:37,424 INFO L474 LassoAnalysis]: Proved termination. [2024-10-15 00:13:37,425 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-10-15 00:13:37,436 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-10-15 00:13:37,452 INFO L156 tatePredicateManager]: 4 out of 4 supporting invariants were superfluous and have been removed [2024-10-15 00:13:37,462 WARN L953 BoogieBacktranslator]: Unfinished Backtranslation: Unknown variable: #memory_int#0 [2024-10-15 00:13:37,462 WARN L953 BoogieBacktranslator]: Unfinished Backtranslation: Cannot backtranslate array access to array IdentifierExpression[#memory_int#0,GLOBAL] [2024-10-15 00:13:37,462 WARN L953 BoogieBacktranslator]: Unfinished Backtranslation: Cannot backtranslate array access to array ArrayAccessExpression[IdentifierExpression[#memory_int#0,GLOBAL],[IdentifierExpression[~path!base,]]] [2024-10-15 00:13:37,474 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:13:37,484 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-15 00:13:37,485 INFO L255 TraceCheckSpWp]: Trace formula consists of 39 conjuncts, 2 conjuncts are in the unsatisfiable core [2024-10-15 00:13:37,485 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-10-15 00:13:37,506 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-15 00:13:37,507 INFO L255 TraceCheckSpWp]: Trace formula consists of 111 conjuncts, 50 conjuncts are in the unsatisfiable core [2024-10-15 00:13:37,509 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-10-15 00:13:37,851 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-10-15 00:13:37,855 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 10 loop predicates [2024-10-15 00:13:37,856 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 20 states and 24 transitions. cyclomatic complexity: 5 Second operand has 11 states, 11 states have (on average 1.7272727272727273) internal successors, (19), 11 states have internal predecessors, (19), 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-10-15 00:13:37,990 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-10-15 00:13:38,170 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 20 states and 24 transitions. cyclomatic complexity: 5. Second operand has 11 states, 11 states have (on average 1.7272727272727273) internal successors, (19), 11 states have internal predecessors, (19), 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-10-15 00:13:38,171 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-10-15 00:13:38,171 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 1.7272727272727273) internal successors, (19), 11 states have internal predecessors, (19), 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-10-15 00:13:38,172 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 37 transitions. [2024-10-15 00:13:38,173 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 13 states and 37 transitions. Stem has 3 letters. Loop has 17 letters. [2024-10-15 00:13:38,173 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-10-15 00:13:38,173 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 13 states and 37 transitions. Stem has 20 letters. Loop has 17 letters. [2024-10-15 00:13:38,174 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-10-15 00:13:38,174 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 13 states and 37 transitions. Stem has 3 letters. Loop has 34 letters. [2024-10-15 00:13:38,174 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-10-15 00:13:38,174 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 90 states and 108 transitions. [2024-10-15 00:13:38,178 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 31 [2024-10-15 00:13:38,179 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 90 states to 68 states and 81 transitions. [2024-10-15 00:13:38,180 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 50 [2024-10-15 00:13:38,181 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 51 [2024-10-15 00:13:38,181 INFO L73 IsDeterministic]: Start isDeterministic. Operand 68 states and 81 transitions. [2024-10-15 00:13:38,181 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-10-15 00:13:38,181 INFO L218 hiAutomatonCegarLoop]: Abstraction has 68 states and 81 transitions. [2024-10-15 00:13:38,181 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 68 states and 81 transitions. [2024-10-15 00:13:38,183 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 68 to 42. [2024-10-15 00:13:38,184 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-10-15 00:13:38,185 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 50 transitions. [2024-10-15 00:13:38,186 INFO L240 hiAutomatonCegarLoop]: Abstraction has 42 states and 50 transitions. [2024-10-15 00:13:38,186 INFO L425 stractBuchiCegarLoop]: Abstraction has 42 states and 50 transitions. [2024-10-15 00:13:38,186 INFO L332 stractBuchiCegarLoop]: ======== Iteration 6 ============ [2024-10-15 00:13:38,186 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 42 states and 50 transitions. [2024-10-15 00:13:38,187 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 17 [2024-10-15 00:13:38,188 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-15 00:13:38,188 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-15 00:13:38,189 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1] [2024-10-15 00:13:38,189 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2024-10-15 00:13:38,189 INFO L745 eck$LassoCheckResult]: Stem: 541#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 542#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; 543#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; 544#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); 553#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 574#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 534#L511-2 [2024-10-15 00:13:38,189 INFO L747 eck$LassoCheckResult]: Loop: 534#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 537#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; 572#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 571#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 534#L511-2 [2024-10-15 00:13:38,189 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:13:38,189 INFO L85 PathProgramCache]: Analyzing trace with hash 889568330, now seen corresponding path program 1 times [2024-10-15 00:13:38,190 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:13:38,190 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [643286636] [2024-10-15 00:13:38,190 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:13:38,190 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:13:38,202 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:13:38,206 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-15 00:13:38,214 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:13:38,217 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-15 00:13:38,217 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:13:38,217 INFO L85 PathProgramCache]: Analyzing trace with hash 1543787, now seen corresponding path program 1 times [2024-10-15 00:13:38,217 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:13:38,217 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [816995392] [2024-10-15 00:13:38,217 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:13:38,217 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:13:38,223 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:13:38,223 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-15 00:13:38,225 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:13:38,227 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-15 00:13:38,228 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:13:38,228 INFO L85 PathProgramCache]: Analyzing trace with hash -2015101388, now seen corresponding path program 1 times [2024-10-15 00:13:38,228 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:13:38,228 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [875051096] [2024-10-15 00:13:38,228 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:13:38,228 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:13:38,243 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:13:38,243 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-15 00:13:38,248 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:13:38,250 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-15 00:13:38,586 INFO L204 LassoAnalysis]: Preferences: [2024-10-15 00:13:38,587 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2024-10-15 00:13:38,587 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2024-10-15 00:13:38,587 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2024-10-15 00:13:38,587 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2024-10-15 00:13:38,587 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-15 00:13:38,587 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2024-10-15 00:13:38,587 INFO L131 ssoRankerPreferences]: Path of dumped script: [2024-10-15 00:13:38,587 INFO L132 ssoRankerPreferences]: Filename of dumped script: basename-3.i_Iteration6_Lasso [2024-10-15 00:13:38,587 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2024-10-15 00:13:38,587 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2024-10-15 00:13:38,589 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:38,593 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:38,594 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:38,595 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:38,597 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:38,715 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:38,717 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:38,719 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:38,720 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:38,722 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:38,724 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:38,726 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:38,727 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:38,729 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:38,731 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:38,733 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:38,735 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:38,737 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:38,739 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:38,740 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:38,742 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:38,743 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:38,745 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:38,746 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:38,979 INFO L259 LassoAnalysis]: Preprocessing complete. [2024-10-15 00:13:38,980 INFO L451 LassoAnalysis]: Using template 'affine'. [2024-10-15 00:13:38,980 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-15 00:13:38,981 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:13:38,982 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-10-15 00:13:38,982 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-10-15 00:13:38,983 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-10-15 00:13:38,993 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-10-15 00:13:38,993 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-10-15 00:13:38,993 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-10-15 00:13:38,993 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-10-15 00:13:38,993 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-10-15 00:13:38,994 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-10-15 00:13:38,994 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-10-15 00:13:38,995 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-10-15 00:13:39,005 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-10-15 00:13:39,005 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-15 00:13:39,006 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:13:39,006 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-10-15 00:13:39,007 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-10-15 00:13:39,008 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-10-15 00:13:39,018 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-10-15 00:13:39,018 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-10-15 00:13:39,018 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-10-15 00:13:39,018 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-10-15 00:13:39,018 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-10-15 00:13:39,019 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-10-15 00:13:39,019 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-10-15 00:13:39,020 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-10-15 00:13:39,030 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (24)] Ended with exit code 0 [2024-10-15 00:13:39,031 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-15 00:13:39,031 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:13:39,032 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-10-15 00:13:39,033 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-10-15 00:13:39,033 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-10-15 00:13:39,043 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-10-15 00:13:39,043 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-10-15 00:13:39,043 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-10-15 00:13:39,043 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-10-15 00:13:39,043 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-10-15 00:13:39,044 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-10-15 00:13:39,044 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-10-15 00:13:39,045 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-10-15 00:13:39,055 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (25)] Ended with exit code 0 [2024-10-15 00:13:39,056 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-15 00:13:39,056 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:13:39,057 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-10-15 00:13:39,058 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-10-15 00:13:39,059 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-10-15 00:13:39,068 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-10-15 00:13:39,068 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-10-15 00:13:39,069 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-10-15 00:13:39,069 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-10-15 00:13:39,070 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-10-15 00:13:39,070 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-10-15 00:13:39,073 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-10-15 00:13:39,084 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-10-15 00:13:39,085 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-15 00:13:39,085 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:13:39,086 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-10-15 00:13:39,087 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-10-15 00:13:39,087 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-10-15 00:13:39,097 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-10-15 00:13:39,097 INFO L203 nArgumentSynthesizer]: 2 stem disjuncts [2024-10-15 00:13:39,097 INFO L204 nArgumentSynthesizer]: 4 loop disjuncts [2024-10-15 00:13:39,097 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-10-15 00:13:39,110 INFO L401 nArgumentSynthesizer]: We have 56 Motzkin's Theorem applications. [2024-10-15 00:13:39,110 INFO L402 nArgumentSynthesizer]: A total of 8 supporting invariants were added. [2024-10-15 00:13:39,136 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-10-15 00:13:39,146 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-10-15 00:13:39,146 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-15 00:13:39,147 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:13:39,148 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-10-15 00:13:39,148 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-10-15 00:13:39,149 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-10-15 00:13:39,158 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-10-15 00:13:39,158 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-10-15 00:13:39,159 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-10-15 00:13:39,159 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-10-15 00:13:39,164 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-10-15 00:13:39,164 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-10-15 00:13:39,170 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-10-15 00:13:39,180 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-10-15 00:13:39,181 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-15 00:13:39,181 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:13:39,182 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-10-15 00:13:39,182 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-10-15 00:13:39,183 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-10-15 00:13:39,193 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-10-15 00:13:39,193 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-10-15 00:13:39,193 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-10-15 00:13:39,193 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-10-15 00:13:39,196 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-10-15 00:13:39,196 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-10-15 00:13:39,204 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2024-10-15 00:13:39,230 INFO L443 ModelExtractionUtils]: Simplification made 13 calls to the SMT solver. [2024-10-15 00:13:39,230 INFO L444 ModelExtractionUtils]: 4 out of 16 variables were initially zero. Simplification set additionally 7 variables to zero. [2024-10-15 00:13:39,231 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-15 00:13:39,231 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:13:39,232 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-10-15 00:13:39,233 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-10-15 00:13:39,234 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2024-10-15 00:13:39,244 INFO L438 nArgumentSynthesizer]: Removed 1 redundant supporting invariants from a total of 2. [2024-10-15 00:13:39,244 INFO L474 LassoAnalysis]: Proved termination. [2024-10-15 00:13:39,245 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-10-15 00:13:39,256 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-10-15 00:13:39,272 INFO L156 tatePredicateManager]: 3 out of 4 supporting invariants were superfluous and have been removed [2024-10-15 00:13:39,275 WARN L953 BoogieBacktranslator]: Unfinished Backtranslation: Unknown variable: ~t!offset [2024-10-15 00:13:39,292 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:13:39,310 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-15 00:13:39,310 INFO L255 TraceCheckSpWp]: Trace formula consists of 64 conjuncts, 14 conjuncts are in the unsatisfiable core [2024-10-15 00:13:39,311 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-10-15 00:13:39,326 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-10-15 00:13:39,359 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-15 00:13:39,360 INFO L255 TraceCheckSpWp]: Trace formula consists of 21 conjuncts, 7 conjuncts are in the unsatisfiable core [2024-10-15 00:13:39,360 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-10-15 00:13:39,402 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-10-15 00:13:39,403 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-10-15 00:13:39,403 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-10-15 00:13:39,447 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-10-15 00:13:39,447 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-10-15 00:13:39,448 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-10-15 00:13:39,448 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 16 transitions. [2024-10-15 00:13:39,448 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 16 transitions. Stem has 6 letters. Loop has 4 letters. [2024-10-15 00:13:39,448 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-10-15 00:13:39,448 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 16 transitions. Stem has 10 letters. Loop has 4 letters. [2024-10-15 00:13:39,448 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-10-15 00:13:39,448 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 16 transitions. Stem has 6 letters. Loop has 8 letters. [2024-10-15 00:13:39,448 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-10-15 00:13:39,449 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 100 states and 122 transitions. [2024-10-15 00:13:39,450 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 21 [2024-10-15 00:13:39,451 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 100 states to 90 states and 108 transitions. [2024-10-15 00:13:39,451 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 43 [2024-10-15 00:13:39,451 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 45 [2024-10-15 00:13:39,451 INFO L73 IsDeterministic]: Start isDeterministic. Operand 90 states and 108 transitions. [2024-10-15 00:13:39,451 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-10-15 00:13:39,451 INFO L218 hiAutomatonCegarLoop]: Abstraction has 90 states and 108 transitions. [2024-10-15 00:13:39,451 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 90 states and 108 transitions. [2024-10-15 00:13:39,455 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 90 to 85. [2024-10-15 00:13:39,457 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-10-15 00:13:39,458 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 85 states to 85 states and 103 transitions. [2024-10-15 00:13:39,458 INFO L240 hiAutomatonCegarLoop]: Abstraction has 85 states and 103 transitions. [2024-10-15 00:13:39,458 INFO L425 stractBuchiCegarLoop]: Abstraction has 85 states and 103 transitions. [2024-10-15 00:13:39,458 INFO L332 stractBuchiCegarLoop]: ======== Iteration 7 ============ [2024-10-15 00:13:39,458 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 85 states and 103 transitions. [2024-10-15 00:13:39,459 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 21 [2024-10-15 00:13:39,459 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-15 00:13:39,459 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-15 00:13:39,459 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [3, 3, 2, 2, 1, 1, 1, 1] [2024-10-15 00:13:39,459 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1] [2024-10-15 00:13:39,459 INFO L745 eck$LassoCheckResult]: Stem: 765#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 766#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; 767#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; 768#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); 763#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 756#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; 757#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 780#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; 781#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 818#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; 814#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 813#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; 811#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 809#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; 802#L511-2 [2024-10-15 00:13:39,459 INFO L747 eck$LassoCheckResult]: Loop: 802#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 804#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; 799#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 800#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; 802#L511-2 [2024-10-15 00:13:39,460 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:13:39,460 INFO L85 PathProgramCache]: Analyzing trace with hash -1275711976, now seen corresponding path program 1 times [2024-10-15 00:13:39,460 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:13:39,460 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1775203319] [2024-10-15 00:13:39,460 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:13:39,460 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:13:39,471 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:13:39,471 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-15 00:13:39,479 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:13:39,482 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-15 00:13:39,483 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:13:39,483 INFO L85 PathProgramCache]: Analyzing trace with hash 1543785, now seen corresponding path program 1 times [2024-10-15 00:13:39,483 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:13:39,484 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [711008139] [2024-10-15 00:13:39,484 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:13:39,484 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:13:39,487 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:13:39,489 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-15 00:13:39,490 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:13:39,491 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-15 00:13:39,492 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:13:39,493 INFO L85 PathProgramCache]: Analyzing trace with hash 1384831232, now seen corresponding path program 2 times [2024-10-15 00:13:39,493 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:13:39,493 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [946525156] [2024-10-15 00:13:39,493 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:13:39,493 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:13:39,505 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:13:39,505 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-15 00:13:39,511 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:13:39,513 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-15 00:13:39,828 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (30)] Ended with exit code 0 [2024-10-15 00:13:40,016 INFO L204 LassoAnalysis]: Preferences: [2024-10-15 00:13:40,017 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2024-10-15 00:13:40,017 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2024-10-15 00:13:40,017 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2024-10-15 00:13:40,017 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2024-10-15 00:13:40,017 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-15 00:13:40,017 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2024-10-15 00:13:40,017 INFO L131 ssoRankerPreferences]: Path of dumped script: [2024-10-15 00:13:40,017 INFO L132 ssoRankerPreferences]: Filename of dumped script: basename-3.i_Iteration7_Lasso [2024-10-15 00:13:40,017 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2024-10-15 00:13:40,017 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2024-10-15 00:13:40,019 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:40,025 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:40,026 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:40,028 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:40,029 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:40,031 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:40,032 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:40,033 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:40,035 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:40,192 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:40,193 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:40,195 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:40,196 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:40,198 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:40,199 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:40,201 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:40,202 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:40,204 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:40,206 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:40,208 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:40,209 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:40,210 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:40,213 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2024-10-15 00:13:40,419 INFO L259 LassoAnalysis]: Preprocessing complete. [2024-10-15 00:13:40,419 INFO L451 LassoAnalysis]: Using template 'affine'. [2024-10-15 00:13:40,419 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-15 00:13:40,419 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:13:40,421 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-10-15 00:13:40,422 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-10-15 00:13:40,422 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-10-15 00:13:40,432 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-10-15 00:13:40,433 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-10-15 00:13:40,433 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-10-15 00:13:40,433 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-10-15 00:13:40,433 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-10-15 00:13:40,433 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-10-15 00:13:40,433 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-10-15 00:13:40,434 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-10-15 00:13:40,444 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-10-15 00:13:40,445 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-15 00:13:40,445 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:13:40,446 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-10-15 00:13:40,446 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-10-15 00:13:40,447 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-10-15 00:13:40,456 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-10-15 00:13:40,456 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-10-15 00:13:40,457 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-10-15 00:13:40,457 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-10-15 00:13:40,457 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-10-15 00:13:40,457 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-10-15 00:13:40,457 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-10-15 00:13:40,458 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-10-15 00:13:40,468 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-10-15 00:13:40,468 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-15 00:13:40,469 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:13:40,469 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-10-15 00:13:40,470 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-10-15 00:13:40,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-10-15 00:13:40,480 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-10-15 00:13:40,480 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-10-15 00:13:40,480 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-10-15 00:13:40,480 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-10-15 00:13:40,480 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-10-15 00:13:40,481 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-10-15 00:13:40,481 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-10-15 00:13:40,482 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-10-15 00:13:40,492 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-10-15 00:13:40,493 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-15 00:13:40,493 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:13:40,494 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-10-15 00:13:40,495 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-10-15 00:13:40,495 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-10-15 00:13:40,505 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-10-15 00:13:40,505 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-10-15 00:13:40,505 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-10-15 00:13:40,505 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-10-15 00:13:40,506 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-10-15 00:13:40,506 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-10-15 00:13:40,506 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-10-15 00:13:40,507 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-10-15 00:13:40,519 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-10-15 00:13:40,519 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-15 00:13:40,519 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:13:40,520 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-10-15 00:13:40,521 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-10-15 00:13:40,521 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-10-15 00:13:40,531 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-10-15 00:13:40,532 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-10-15 00:13:40,532 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-10-15 00:13:40,532 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-10-15 00:13:40,532 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-10-15 00:13:40,532 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-10-15 00:13:40,532 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-10-15 00:13:40,533 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-10-15 00:13:40,545 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (35)] Ended with exit code 0 [2024-10-15 00:13:40,545 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-15 00:13:40,545 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:13:40,546 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-10-15 00:13:40,547 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-10-15 00:13:40,548 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-10-15 00:13:40,559 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-10-15 00:13:40,559 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-10-15 00:13:40,559 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-10-15 00:13:40,559 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-10-15 00:13:40,559 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-10-15 00:13:40,560 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-10-15 00:13:40,560 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-10-15 00:13:40,563 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-10-15 00:13:40,575 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-10-15 00:13:40,575 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-15 00:13:40,575 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:13:40,577 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-10-15 00:13:40,578 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-10-15 00:13:40,579 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-10-15 00:13:40,589 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-10-15 00:13:40,589 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-10-15 00:13:40,590 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-10-15 00:13:40,590 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-10-15 00:13:40,590 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-10-15 00:13:40,590 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-10-15 00:13:40,590 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-10-15 00:13:40,591 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-10-15 00:13:40,601 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (37)] Forceful destruction successful, exit code 0 [2024-10-15 00:13:40,601 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-15 00:13:40,601 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:13:40,603 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-10-15 00:13:40,612 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-10-15 00:13:40,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-10-15 00:13:40,623 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-10-15 00:13:40,623 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2024-10-15 00:13:40,623 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-10-15 00:13:40,624 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-10-15 00:13:40,624 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-10-15 00:13:40,624 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2024-10-15 00:13:40,625 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2024-10-15 00:13:40,627 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-10-15 00:13:40,639 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-10-15 00:13:40,640 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-15 00:13:40,640 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:13:40,641 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-10-15 00:13:40,642 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-10-15 00:13:40,642 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-10-15 00:13:40,652 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-10-15 00:13:40,652 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-10-15 00:13:40,652 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-10-15 00:13:40,652 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-10-15 00:13:40,653 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-10-15 00:13:40,653 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-10-15 00:13:40,656 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-10-15 00:13:40,667 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-10-15 00:13:40,667 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-15 00:13:40,668 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:13:40,668 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-10-15 00:13:40,669 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-10-15 00:13:40,670 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-10-15 00:13:40,680 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-10-15 00:13:40,681 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-10-15 00:13:40,681 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-10-15 00:13:40,681 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-10-15 00:13:40,682 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-10-15 00:13:40,682 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-10-15 00:13:40,684 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-10-15 00:13:40,694 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (40)] Forceful destruction successful, exit code 0 [2024-10-15 00:13:40,695 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-15 00:13:40,695 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:13:40,696 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-10-15 00:13:40,697 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-10-15 00:13:40,698 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-10-15 00:13:40,707 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-10-15 00:13:40,707 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-10-15 00:13:40,708 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-10-15 00:13:40,708 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-10-15 00:13:40,709 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-10-15 00:13:40,709 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-10-15 00:13:40,712 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-10-15 00:13:40,723 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (41)] Forceful destruction successful, exit code 0 [2024-10-15 00:13:40,723 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-15 00:13:40,723 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:13:40,725 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-10-15 00:13:40,725 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-10-15 00:13:40,726 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-10-15 00:13:40,737 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-10-15 00:13:40,737 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-10-15 00:13:40,737 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-10-15 00:13:40,737 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-10-15 00:13:40,739 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-10-15 00:13:40,739 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-10-15 00:13:40,744 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-10-15 00:13:40,754 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (42)] Forceful destruction successful, exit code 0 [2024-10-15 00:13:40,754 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-15 00:13:40,754 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:13:40,756 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-10-15 00:13:40,756 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-10-15 00:13:40,757 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-10-15 00:13:40,767 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-10-15 00:13:40,767 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-10-15 00:13:40,767 INFO L204 nArgumentSynthesizer]: 2 loop disjuncts [2024-10-15 00:13:40,767 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-10-15 00:13:40,771 INFO L401 nArgumentSynthesizer]: We have 16 Motzkin's Theorem applications. [2024-10-15 00:13:40,771 INFO L402 nArgumentSynthesizer]: A total of 4 supporting invariants were added. [2024-10-15 00:13:40,779 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-10-15 00:13:40,790 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (43)] Ended with exit code 0 [2024-10-15 00:13:40,791 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-15 00:13:40,791 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:13:40,792 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-10-15 00:13:40,793 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-10-15 00:13:40,793 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2024-10-15 00:13:40,803 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-10-15 00:13:40,803 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-10-15 00:13:40,803 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-10-15 00:13:40,803 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-10-15 00:13:40,804 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-10-15 00:13:40,804 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-10-15 00:13:40,808 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2024-10-15 00:13:40,819 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-10-15 00:13:40,819 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-15 00:13:40,819 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:13:40,821 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-10-15 00:13:40,822 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-10-15 00:13:40,822 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-10-15 00:13:40,832 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2024-10-15 00:13:40,832 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2024-10-15 00:13:40,832 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2024-10-15 00:13:40,832 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2024-10-15 00:13:40,836 INFO L401 nArgumentSynthesizer]: We have 6 Motzkin's Theorem applications. [2024-10-15 00:13:40,836 INFO L402 nArgumentSynthesizer]: A total of 2 supporting invariants were added. [2024-10-15 00:13:40,844 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2024-10-15 00:13:40,860 INFO L443 ModelExtractionUtils]: Simplification made 6 calls to the SMT solver. [2024-10-15 00:13:40,860 INFO L444 ModelExtractionUtils]: 6 out of 16 variables were initially zero. Simplification set additionally 7 variables to zero. [2024-10-15 00:13:40,860 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-15 00:13:40,861 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:13:40,863 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-10-15 00:13:40,867 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-10-15 00:13:40,867 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2024-10-15 00:13:40,882 INFO L438 nArgumentSynthesizer]: Removed 2 redundant supporting invariants from a total of 2. [2024-10-15 00:13:40,883 INFO L474 LassoAnalysis]: Proved termination. [2024-10-15 00:13:40,883 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-10-15 00:13:40,899 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-10-15 00:13:40,910 INFO L156 tatePredicateManager]: 4 out of 5 supporting invariants were superfluous and have been removed [2024-10-15 00:13:40,912 WARN L953 BoogieBacktranslator]: Unfinished Backtranslation: Unknown variable: #length [2024-10-15 00:13:40,912 WARN L953 BoogieBacktranslator]: Unfinished Backtranslation: Cannot backtranslate array access to array IdentifierExpression[#length,GLOBAL] [2024-10-15 00:13:40,912 WARN L953 BoogieBacktranslator]: Unfinished Backtranslation: Unknown variable: ~t!offset [2024-10-15 00:13:40,926 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:13:40,954 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-15 00:13:40,955 INFO L255 TraceCheckSpWp]: Trace formula consists of 115 conjuncts, 16 conjuncts are in the unsatisfiable core [2024-10-15 00:13:40,957 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-10-15 00:13:41,002 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-15 00:13:41,002 INFO L255 TraceCheckSpWp]: Trace formula consists of 27 conjuncts, 8 conjuncts are in the unsatisfiable core [2024-10-15 00:13:41,002 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-10-15 00:13:41,039 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-10-15 00:13:41,040 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-10-15 00:13:41,040 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 85 states and 103 transitions. cyclomatic complexity: 24 Second operand has 6 states, 6 states have (on average 2.1666666666666665) internal successors, (13), 6 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-10-15 00:13:41,089 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 85 states and 103 transitions. cyclomatic complexity: 24. Second operand has 6 states, 6 states have (on average 2.1666666666666665) internal successors, (13), 6 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 130 states and 164 transitions. Complement of second has 7 states. [2024-10-15 00:13:41,089 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 5 states 3 stem states 1 non-accepting loop states 1 accepting loop states [2024-10-15 00:13:41,090 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.1666666666666665) internal successors, (13), 6 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-10-15 00:13:41,090 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 16 transitions. [2024-10-15 00:13:41,090 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 16 transitions. Stem has 14 letters. Loop has 4 letters. [2024-10-15 00:13:41,090 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-10-15 00:13:41,090 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 16 transitions. Stem has 18 letters. Loop has 4 letters. [2024-10-15 00:13:41,090 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-10-15 00:13:41,090 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 16 transitions. Stem has 14 letters. Loop has 8 letters. [2024-10-15 00:13:41,090 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2024-10-15 00:13:41,090 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 130 states and 164 transitions. [2024-10-15 00:13:41,091 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 17 [2024-10-15 00:13:41,092 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 130 states to 104 states and 125 transitions. [2024-10-15 00:13:41,092 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 33 [2024-10-15 00:13:41,092 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 36 [2024-10-15 00:13:41,092 INFO L73 IsDeterministic]: Start isDeterministic. Operand 104 states and 125 transitions. [2024-10-15 00:13:41,092 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-10-15 00:13:41,092 INFO L218 hiAutomatonCegarLoop]: Abstraction has 104 states and 125 transitions. [2024-10-15 00:13:41,092 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 104 states and 125 transitions. [2024-10-15 00:13:41,094 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 104 to 73. [2024-10-15 00:13:41,095 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 73 states, 73 states have (on average 1.1917808219178083) internal successors, (87), 72 states have internal predecessors, (87), 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-10-15 00:13:41,095 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 87 transitions. [2024-10-15 00:13:41,095 INFO L240 hiAutomatonCegarLoop]: Abstraction has 73 states and 87 transitions. [2024-10-15 00:13:41,095 INFO L425 stractBuchiCegarLoop]: Abstraction has 73 states and 87 transitions. [2024-10-15 00:13:41,095 INFO L332 stractBuchiCegarLoop]: ======== Iteration 8 ============ [2024-10-15 00:13:41,095 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 73 states and 87 transitions. [2024-10-15 00:13:41,096 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 17 [2024-10-15 00:13:41,096 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-15 00:13:41,096 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-15 00:13:41,096 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [3, 3, 2, 2, 1, 1, 1, 1, 1, 1] [2024-10-15 00:13:41,096 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1] [2024-10-15 00:13:41,096 INFO L745 eck$LassoCheckResult]: Stem: 1088#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 1089#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; 1090#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; 1091#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); 1124#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 1077#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 1079#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 1082#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; 1086#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 1087#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; 1081#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 1141#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; 1129#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 1114#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 1115#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 1105#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; 1103#strrchr_returnLabel#1 [2024-10-15 00:13:41,096 INFO L747 eck$LassoCheckResult]: Loop: 1103#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; 1092#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); 1093#L519 assume 0 == basename_#t~mem6#1;havoc basename_#t~mem6#1; 1096#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); 1097#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); 1084#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; 1119#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 1128#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; 1127#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 1125#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; 1121#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 1123#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; 1122#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 1120#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 1107#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 1108#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; 1103#strrchr_returnLabel#1 [2024-10-15 00:13:41,097 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:13:41,097 INFO L85 PathProgramCache]: Analyzing trace with hash -1192462433, now seen corresponding path program 1 times [2024-10-15 00:13:41,097 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:13:41,097 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1694669030] [2024-10-15 00:13:41,097 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:13:41,097 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:13:41,114 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:13:41,114 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-15 00:13:41,119 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:13:41,121 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-15 00:13:41,125 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:13:41,125 INFO L85 PathProgramCache]: Analyzing trace with hash -1276134570, now seen corresponding path program 2 times [2024-10-15 00:13:41,126 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:13:41,126 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1479372788] [2024-10-15 00:13:41,126 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:13:41,126 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:13:41,136 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:13:41,136 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-15 00:13:41,140 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:13:41,143 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-15 00:13:41,143 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:13:41,143 INFO L85 PathProgramCache]: Analyzing trace with hash -1834372232, now seen corresponding path program 2 times [2024-10-15 00:13:41,143 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:13:41,143 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [833077837] [2024-10-15 00:13:41,143 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:13:41,143 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:13:41,164 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-15 00:13:41,376 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (46)] Ended with exit code 0 [2024-10-15 00:13:41,636 INFO L134 CoverageAnalysis]: Checked inductivity of 61 backedges. 27 proven. 32 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-10-15 00:13:41,637 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-15 00:13:41,637 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [833077837] [2024-10-15 00:13:41,637 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [833077837] provided 0 perfect and 1 imperfect interpolant sequences [2024-10-15 00:13:41,637 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [73548950] [2024-10-15 00:13:41,637 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-10-15 00:13:41,637 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-10-15 00:13:41,637 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:13:41,639 INFO L229 MonitoredProcess]: Starting monitored process 47 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-10-15 00:13:41,640 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (47)] Waiting until timeout for monitored process [2024-10-15 00:13:41,709 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2024-10-15 00:13:41,709 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2024-10-15 00:13:41,711 INFO L255 TraceCheckSpWp]: Trace formula consists of 226 conjuncts, 72 conjuncts are in the unsatisfiable core [2024-10-15 00:13:41,713 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-10-15 00:13:41,803 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-10-15 00:13:41,890 INFO L134 CoverageAnalysis]: Checked inductivity of 61 backedges. 27 proven. 30 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-10-15 00:13:41,890 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-10-15 00:13:42,177 INFO L349 Elim1Store]: treesize reduction 10, result has 47.4 percent of original size [2024-10-15 00:13:42,177 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-10-15 00:13:42,474 INFO L134 CoverageAnalysis]: Checked inductivity of 61 backedges. 4 proven. 55 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-10-15 00:13:42,474 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [73548950] provided 0 perfect and 2 imperfect interpolant sequences [2024-10-15 00:13:42,474 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-10-15 00:13:42,474 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 16, 18] total 39 [2024-10-15 00:13:42,474 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1062346400] [2024-10-15 00:13:42,474 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-10-15 00:13:42,778 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-15 00:13:42,778 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 39 interpolants. [2024-10-15 00:13:42,779 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=151, Invalid=1331, Unknown=0, NotChecked=0, Total=1482 [2024-10-15 00:13:42,779 INFO L87 Difference]: Start difference. First operand 73 states and 87 transitions. cyclomatic complexity: 19 Second operand has 39 states, 39 states have (on average 1.8205128205128205) internal successors, (71), 39 states have internal predecessors, (71), 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-10-15 00:13:43,786 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-15 00:13:43,787 INFO L93 Difference]: Finished difference Result 170 states and 200 transitions. [2024-10-15 00:13:43,787 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 170 states and 200 transitions. [2024-10-15 00:13:43,788 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 86 [2024-10-15 00:13:43,789 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 170 states to 164 states and 194 transitions. [2024-10-15 00:13:43,789 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 110 [2024-10-15 00:13:43,789 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 118 [2024-10-15 00:13:43,789 INFO L73 IsDeterministic]: Start isDeterministic. Operand 164 states and 194 transitions. [2024-10-15 00:13:43,789 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-10-15 00:13:43,789 INFO L218 hiAutomatonCegarLoop]: Abstraction has 164 states and 194 transitions. [2024-10-15 00:13:43,789 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 164 states and 194 transitions. [2024-10-15 00:13:43,797 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 164 to 98. [2024-10-15 00:13:43,800 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 98 states, 98 states have (on average 1.2346938775510203) internal successors, (121), 97 states have internal predecessors, (121), 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-10-15 00:13:43,801 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 98 states to 98 states and 121 transitions. [2024-10-15 00:13:43,801 INFO L240 hiAutomatonCegarLoop]: Abstraction has 98 states and 121 transitions. [2024-10-15 00:13:43,802 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 31 states. [2024-10-15 00:13:43,803 INFO L425 stractBuchiCegarLoop]: Abstraction has 98 states and 121 transitions. [2024-10-15 00:13:43,805 INFO L332 stractBuchiCegarLoop]: ======== Iteration 9 ============ [2024-10-15 00:13:43,805 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 98 states and 121 transitions. [2024-10-15 00:13:43,806 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 56 [2024-10-15 00:13:43,806 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-15 00:13:43,806 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-15 00:13:43,806 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [3, 3, 2, 2, 1, 1, 1, 1, 1, 1] [2024-10-15 00:13:43,806 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [5, 5, 4, 3, 2, 1, 1, 1, 1, 1, 1] [2024-10-15 00:13:43,806 INFO L745 eck$LassoCheckResult]: Stem: 1610#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 1611#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; 1612#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; 1613#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; 1645#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); 1630#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 1637#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 1622#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; 1621#strrchr_returnLabel#1 [2024-10-15 00:13:43,806 INFO L747 eck$LassoCheckResult]: Loop: 1621#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; 1614#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); 1615#L519 assume 0 == basename_#t~mem6#1;havoc basename_#t~mem6#1; 1616#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); 1617#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); 1620#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 1666#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; 1663#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 1618#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; 1607#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 1608#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 1667#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; 1668#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 1664#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 1604#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 1605#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; 1656#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 1657#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; 1626#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 1688#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; 1631#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 1625#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); 1689#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; 1621#strrchr_returnLabel#1 [2024-10-15 00:13:43,807 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:13:43,807 INFO L85 PathProgramCache]: Analyzing trace with hash -1893527011, now seen corresponding path program 2 times [2024-10-15 00:13:43,807 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:13:43,807 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2073019063] [2024-10-15 00:13:43,807 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:13:43,808 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:13:43,817 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:13:43,817 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-15 00:13:43,822 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:13:43,827 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-15 00:13:43,828 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:13:43,828 INFO L85 PathProgramCache]: Analyzing trace with hash -1248060886, now seen corresponding path program 3 times [2024-10-15 00:13:43,828 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:13:43,828 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [818788830] [2024-10-15 00:13:43,828 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:13:43,828 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:13:43,837 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:13:43,837 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-15 00:13:43,842 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:13:43,844 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-15 00:13:43,847 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:13:43,847 INFO L85 PathProgramCache]: Analyzing trace with hash -545890418, now seen corresponding path program 3 times [2024-10-15 00:13:43,847 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:13:43,847 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [618314997] [2024-10-15 00:13:43,848 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:13:43,848 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:13:43,865 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-15 00:13:44,335 INFO L134 CoverageAnalysis]: Checked inductivity of 113 backedges. 49 proven. 60 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-10-15 00:13:44,335 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-15 00:13:44,335 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [618314997] [2024-10-15 00:13:44,335 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [618314997] provided 0 perfect and 1 imperfect interpolant sequences [2024-10-15 00:13:44,335 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [262119661] [2024-10-15 00:13:44,336 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2024-10-15 00:13:44,336 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-10-15 00:13:44,336 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:13:44,337 INFO L229 MonitoredProcess]: Starting monitored process 48 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-10-15 00:13:44,339 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (48)] Waiting until timeout for monitored process [2024-10-15 00:13:44,437 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 5 check-sat command(s) [2024-10-15 00:13:44,437 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2024-10-15 00:13:44,438 INFO L255 TraceCheckSpWp]: Trace formula consists of 267 conjuncts, 63 conjuncts are in the unsatisfiable core [2024-10-15 00:13:44,441 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-10-15 00:13:44,514 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-10-15 00:13:44,566 INFO L134 CoverageAnalysis]: Checked inductivity of 113 backedges. 61 proven. 38 refuted. 0 times theorem prover too weak. 14 trivial. 0 not checked. [2024-10-15 00:13:44,567 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-10-15 00:13:44,591 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-10-15 00:13:44,716 INFO L134 CoverageAnalysis]: Checked inductivity of 113 backedges. 61 proven. 38 refuted. 0 times theorem prover too weak. 14 trivial. 0 not checked. [2024-10-15 00:13:44,717 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [262119661] provided 0 perfect and 2 imperfect interpolant sequences [2024-10-15 00:13:44,717 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-10-15 00:13:44,717 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 12, 11] total 26 [2024-10-15 00:13:44,717 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [435708504] [2024-10-15 00:13:44,717 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-10-15 00:13:45,120 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-15 00:13:45,120 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2024-10-15 00:13:45,120 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=77, Invalid=573, Unknown=0, NotChecked=0, Total=650 [2024-10-15 00:13:45,121 INFO L87 Difference]: Start difference. First operand 98 states and 121 transitions. cyclomatic complexity: 30 Second operand has 26 states, 26 states have (on average 2.8461538461538463) internal successors, (74), 26 states have internal predecessors, (74), 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-10-15 00:13:45,343 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-15 00:13:45,344 INFO L93 Difference]: Finished difference Result 115 states and 139 transitions. [2024-10-15 00:13:45,344 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 115 states and 139 transitions. [2024-10-15 00:13:45,344 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 33 [2024-10-15 00:13:45,345 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 115 states to 80 states and 97 transitions. [2024-10-15 00:13:45,345 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 44 [2024-10-15 00:13:45,345 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 44 [2024-10-15 00:13:45,345 INFO L73 IsDeterministic]: Start isDeterministic. Operand 80 states and 97 transitions. [2024-10-15 00:13:45,345 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-10-15 00:13:45,345 INFO L218 hiAutomatonCegarLoop]: Abstraction has 80 states and 97 transitions. [2024-10-15 00:13:45,345 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 80 states and 97 transitions. [2024-10-15 00:13:45,347 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 80 to 42. [2024-10-15 00:13:45,347 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 42 states, 42 states have (on average 1.2380952380952381) internal successors, (52), 41 states have internal predecessors, (52), 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-10-15 00:13:45,347 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 52 transitions. [2024-10-15 00:13:45,347 INFO L240 hiAutomatonCegarLoop]: Abstraction has 42 states and 52 transitions. [2024-10-15 00:13:45,347 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2024-10-15 00:13:45,348 INFO L425 stractBuchiCegarLoop]: Abstraction has 42 states and 52 transitions. [2024-10-15 00:13:45,348 INFO L332 stractBuchiCegarLoop]: ======== Iteration 10 ============ [2024-10-15 00:13:45,348 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 42 states and 52 transitions. [2024-10-15 00:13:45,348 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 21 [2024-10-15 00:13:45,348 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-15 00:13:45,348 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-15 00:13:45,349 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [4, 4, 3, 3, 1, 1, 1, 1, 1, 1] [2024-10-15 00:13:45,349 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [4, 4, 3, 3, 1, 1, 1, 1, 1, 1, 1] [2024-10-15 00:13:45,349 INFO L745 eck$LassoCheckResult]: Stem: 2104#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 2105#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; 2106#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; 2107#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); 2100#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; 2135#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2134#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; 2130#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2096#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 2097#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2099#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; 2102#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;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 2128#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2125#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; 2122#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2118#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 2119#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2115#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; 2114#strrchr_returnLabel#1 [2024-10-15 00:13:45,349 INFO L747 eck$LassoCheckResult]: Loop: 2114#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; 2108#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); 2109#L519 assume 0 == basename_#t~mem6#1;havoc basename_#t~mem6#1; 2110#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); 2111#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); 2133#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2132#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; 2131#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2112#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; 2113#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2094#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; 2095#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_#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; 2129#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2127#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; 2126#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2124#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; 2120#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2121#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 2116#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2117#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; 2114#strrchr_returnLabel#1 [2024-10-15 00:13:45,349 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:13:45,350 INFO L85 PathProgramCache]: Analyzing trace with hash -1195844343, now seen corresponding path program 3 times [2024-10-15 00:13:45,350 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:13:45,350 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1258580752] [2024-10-15 00:13:45,350 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:13:45,350 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:13:45,362 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:13:45,362 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-15 00:13:45,371 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:13:45,373 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-15 00:13:45,373 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:13:45,374 INFO L85 PathProgramCache]: Analyzing trace with hash 179046334, now seen corresponding path program 4 times [2024-10-15 00:13:45,374 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:13:45,374 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [842787193] [2024-10-15 00:13:45,374 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:13:45,374 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:13:45,382 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:13:45,382 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-15 00:13:45,385 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:13:45,387 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-15 00:13:45,388 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:13:45,389 INFO L85 PathProgramCache]: Analyzing trace with hash 456990646, now seen corresponding path program 4 times [2024-10-15 00:13:45,389 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:13:45,389 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [181285476] [2024-10-15 00:13:45,389 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:13:45,389 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:13:45,407 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-15 00:13:45,772 INFO L134 CoverageAnalysis]: Checked inductivity of 113 backedges. 39 proven. 72 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-10-15 00:13:45,772 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-15 00:13:45,772 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [181285476] [2024-10-15 00:13:45,772 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [181285476] provided 0 perfect and 1 imperfect interpolant sequences [2024-10-15 00:13:45,772 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1434964092] [2024-10-15 00:13:45,772 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2024-10-15 00:13:45,773 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-10-15 00:13:45,773 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:13:45,774 INFO L229 MonitoredProcess]: Starting monitored process 49 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-10-15 00:13:45,775 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (49)] Waiting until timeout for monitored process [2024-10-15 00:13:45,843 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2024-10-15 00:13:45,843 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2024-10-15 00:13:45,844 INFO L255 TraceCheckSpWp]: Trace formula consists of 267 conjuncts, 79 conjuncts are in the unsatisfiable core [2024-10-15 00:13:45,846 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-10-15 00:13:45,924 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-10-15 00:13:46,024 INFO L134 CoverageAnalysis]: Checked inductivity of 113 backedges. 39 proven. 70 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-10-15 00:13:46,024 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-10-15 00:13:46,305 INFO L349 Elim1Store]: treesize reduction 10, result has 47.4 percent of original size [2024-10-15 00:13:46,305 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-10-15 00:13:46,570 INFO L134 CoverageAnalysis]: Checked inductivity of 113 backedges. 8 proven. 103 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-10-15 00:13:46,570 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1434964092] provided 0 perfect and 2 imperfect interpolant sequences [2024-10-15 00:13:46,570 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-10-15 00:13:46,571 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 17, 18] total 39 [2024-10-15 00:13:46,571 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1037642133] [2024-10-15 00:13:46,571 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-10-15 00:13:46,956 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-15 00:13:46,956 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 39 interpolants. [2024-10-15 00:13:46,956 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=129, Invalid=1353, Unknown=0, NotChecked=0, Total=1482 [2024-10-15 00:13:46,957 INFO L87 Difference]: Start difference. First operand 42 states and 52 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-10-15 00:13:48,079 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-15 00:13:48,079 INFO L93 Difference]: Finished difference Result 171 states and 203 transitions. [2024-10-15 00:13:48,079 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 171 states and 203 transitions. [2024-10-15 00:13:48,080 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 117 [2024-10-15 00:13:48,081 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 171 states to 171 states and 203 transitions. [2024-10-15 00:13:48,081 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 135 [2024-10-15 00:13:48,081 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 135 [2024-10-15 00:13:48,081 INFO L73 IsDeterministic]: Start isDeterministic. Operand 171 states and 203 transitions. [2024-10-15 00:13:48,081 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-10-15 00:13:48,081 INFO L218 hiAutomatonCegarLoop]: Abstraction has 171 states and 203 transitions. [2024-10-15 00:13:48,082 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 171 states and 203 transitions. [2024-10-15 00:13:48,087 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 171 to 100. [2024-10-15 00:13:48,087 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 100 states, 100 states have (on average 1.22) internal successors, (122), 99 states have internal predecessors, (122), 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-10-15 00:13:48,088 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 100 states to 100 states and 122 transitions. [2024-10-15 00:13:48,088 INFO L240 hiAutomatonCegarLoop]: Abstraction has 100 states and 122 transitions. [2024-10-15 00:13:48,090 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 39 states. [2024-10-15 00:13:48,090 INFO L425 stractBuchiCegarLoop]: Abstraction has 100 states and 122 transitions. [2024-10-15 00:13:48,091 INFO L332 stractBuchiCegarLoop]: ======== Iteration 11 ============ [2024-10-15 00:13:48,091 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 100 states and 122 transitions. [2024-10-15 00:13:48,091 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 68 [2024-10-15 00:13:48,091 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-15 00:13:48,091 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-15 00:13:48,092 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [4, 4, 3, 3, 1, 1, 1, 1, 1, 1] [2024-10-15 00:13:48,092 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [5, 5, 4, 3, 2, 1, 1, 1, 1, 1, 1] [2024-10-15 00:13:48,092 INFO L745 eck$LassoCheckResult]: Stem: 2660#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 2661#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; 2662#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; 2663#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); 2696#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2695#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 2694#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2693#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; 2690#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2651#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 2652#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2740#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; 2738#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2684#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; 2683#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2681#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; 2682#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2725#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 2724#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2672#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; 2671#strrchr_returnLabel#1 [2024-10-15 00:13:48,092 INFO L747 eck$LassoCheckResult]: Loop: 2671#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; 2664#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); 2665#L519 assume 0 == basename_#t~mem6#1;havoc basename_#t~mem6#1; 2666#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); 2667#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); 2717#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2716#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; 2715#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2714#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); 2712#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; 2711#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2710#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; 2709#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2708#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 2707#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2706#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; 2705#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;strrchr_~l~0#1.base, strrchr_~l~0#1.offset := strrchr_~t#1.base, strrchr_~t#1.offset; 2702#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2701#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; 2700#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2675#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 2673#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 2674#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; 2671#strrchr_returnLabel#1 [2024-10-15 00:13:48,092 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:13:48,092 INFO L85 PathProgramCache]: Analyzing trace with hash -1195844343, now seen corresponding path program 4 times [2024-10-15 00:13:48,093 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:13:48,093 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [310486515] [2024-10-15 00:13:48,093 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:13:48,093 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:13:48,099 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:13:48,099 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-15 00:13:48,103 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:13:48,105 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-15 00:13:48,105 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:13:48,105 INFO L85 PathProgramCache]: Analyzing trace with hash 31802792, now seen corresponding path program 5 times [2024-10-15 00:13:48,105 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:13:48,105 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1434996005] [2024-10-15 00:13:48,105 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:13:48,105 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:13:48,111 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:13:48,111 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-15 00:13:48,114 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:13:48,116 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-15 00:13:48,116 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:13:48,116 INFO L85 PathProgramCache]: Analyzing trace with hash -1279680096, now seen corresponding path program 5 times [2024-10-15 00:13:48,116 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:13:48,116 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1524558808] [2024-10-15 00:13:48,116 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:13:48,117 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:13:48,127 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-15 00:13:48,475 INFO L134 CoverageAnalysis]: Checked inductivity of 145 backedges. 57 proven. 84 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-10-15 00:13:48,475 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-15 00:13:48,475 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1524558808] [2024-10-15 00:13:48,475 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1524558808] provided 0 perfect and 1 imperfect interpolant sequences [2024-10-15 00:13:48,475 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [278497341] [2024-10-15 00:13:48,475 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2024-10-15 00:13:48,475 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-10-15 00:13:48,476 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:13:48,477 INFO L229 MonitoredProcess]: Starting monitored process 50 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-10-15 00:13:48,478 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (50)] Waiting until timeout for monitored process [2024-10-15 00:13:48,564 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 5 check-sat command(s) [2024-10-15 00:13:48,564 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2024-10-15 00:13:48,566 INFO L255 TraceCheckSpWp]: Trace formula consists of 285 conjuncts, 67 conjuncts are in the unsatisfiable core [2024-10-15 00:13:48,569 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-10-15 00:13:48,649 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-10-15 00:13:48,700 INFO L134 CoverageAnalysis]: Checked inductivity of 145 backedges. 57 proven. 82 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2024-10-15 00:13:48,700 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-10-15 00:13:48,738 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-10-15 00:13:48,865 INFO L134 CoverageAnalysis]: Checked inductivity of 145 backedges. 57 proven. 82 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2024-10-15 00:13:48,865 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [278497341] provided 0 perfect and 2 imperfect interpolant sequences [2024-10-15 00:13:48,866 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-10-15 00:13:48,866 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 14, 13] total 25 [2024-10-15 00:13:48,866 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2058213690] [2024-10-15 00:13:48,866 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-10-15 00:13:49,316 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-15 00:13:49,316 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2024-10-15 00:13:49,317 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=67, Invalid=533, Unknown=0, NotChecked=0, Total=600 [2024-10-15 00:13:49,317 INFO L87 Difference]: Start difference. First operand 100 states and 122 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-10-15 00:13:49,529 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-15 00:13:49,529 INFO L93 Difference]: Finished difference Result 86 states and 103 transitions. [2024-10-15 00:13:49,529 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 86 states and 103 transitions. [2024-10-15 00:13:49,530 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 33 [2024-10-15 00:13:49,530 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 86 states to 66 states and 80 transitions. [2024-10-15 00:13:49,530 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 43 [2024-10-15 00:13:49,531 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 43 [2024-10-15 00:13:49,531 INFO L73 IsDeterministic]: Start isDeterministic. Operand 66 states and 80 transitions. [2024-10-15 00:13:49,531 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-10-15 00:13:49,531 INFO L218 hiAutomatonCegarLoop]: Abstraction has 66 states and 80 transitions. [2024-10-15 00:13:49,531 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 66 states and 80 transitions. [2024-10-15 00:13:49,532 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 66 to 50. [2024-10-15 00:13:49,532 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 50 states have (on average 1.24) internal successors, (62), 49 states have internal predecessors, (62), 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-10-15 00:13:49,532 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 62 transitions. [2024-10-15 00:13:49,532 INFO L240 hiAutomatonCegarLoop]: Abstraction has 50 states and 62 transitions. [2024-10-15 00:13:49,532 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2024-10-15 00:13:49,533 INFO L425 stractBuchiCegarLoop]: Abstraction has 50 states and 62 transitions. [2024-10-15 00:13:49,533 INFO L332 stractBuchiCegarLoop]: ======== Iteration 12 ============ [2024-10-15 00:13:49,533 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 50 states and 62 transitions. [2024-10-15 00:13:49,533 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 25 [2024-10-15 00:13:49,533 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-15 00:13:49,533 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-15 00:13:49,534 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [5, 5, 4, 4, 1, 1, 1, 1, 1, 1] [2024-10-15 00:13:49,534 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [5, 5, 4, 4, 1, 1, 1, 1, 1, 1, 1] [2024-10-15 00:13:49,534 INFO L745 eck$LassoCheckResult]: Stem: 3149#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 3150#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; 3151#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; 3152#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); 3182#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 3181#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 3178#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 3159#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; 3160#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 3177#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 3179#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 3180#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; 3183#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 3141#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 3142#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 3144#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; 3147#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 3148#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; 3173#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 3171#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; 3167#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 3168#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 3174#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 3162#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; 3161#strrchr_returnLabel#1 [2024-10-15 00:13:49,534 INFO L747 eck$LassoCheckResult]: Loop: 3161#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; 3153#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); 3154#L519 assume 0 == basename_#t~mem6#1;havoc basename_#t~mem6#1; 3155#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); 3156#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); 3145#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 3146#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; 3186#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 3157#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); 3188#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; 3184#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 3185#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; 3187#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 3139#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; 3140#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 3143#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; 3176#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 3175#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; 3166#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 3172#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; 3170#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 3165#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 3163#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 3164#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; 3161#strrchr_returnLabel#1 [2024-10-15 00:13:49,535 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:13:49,535 INFO L85 PathProgramCache]: Analyzing trace with hash -2019525261, now seen corresponding path program 5 times [2024-10-15 00:13:49,535 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:13:49,535 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1398518556] [2024-10-15 00:13:49,535 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:13:49,535 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:13:49,549 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:13:49,549 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-15 00:13:49,557 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:13:49,560 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-15 00:13:49,560 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:13:49,560 INFO L85 PathProgramCache]: Analyzing trace with hash -669261786, now seen corresponding path program 6 times [2024-10-15 00:13:49,561 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:13:49,561 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [707892323] [2024-10-15 00:13:49,561 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:13:49,561 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:13:49,568 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:13:49,568 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-15 00:13:49,572 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:13:49,574 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-15 00:13:49,574 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:13:49,574 INFO L85 PathProgramCache]: Analyzing trace with hash 349767412, now seen corresponding path program 6 times [2024-10-15 00:13:49,574 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:13:49,575 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1058656701] [2024-10-15 00:13:49,575 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:13:49,575 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:13:49,586 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-15 00:13:50,106 INFO L134 CoverageAnalysis]: Checked inductivity of 181 backedges. 51 proven. 128 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-10-15 00:13:50,107 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-15 00:13:50,107 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1058656701] [2024-10-15 00:13:50,107 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1058656701] provided 0 perfect and 1 imperfect interpolant sequences [2024-10-15 00:13:50,108 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [804009222] [2024-10-15 00:13:50,108 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2024-10-15 00:13:50,108 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-10-15 00:13:50,108 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:13:50,110 INFO L229 MonitoredProcess]: Starting monitored process 51 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-10-15 00:13:50,111 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (51)] Waiting until timeout for monitored process [2024-10-15 00:13:50,190 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2024-10-15 00:13:50,191 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2024-10-15 00:13:50,192 INFO L255 TraceCheckSpWp]: Trace formula consists of 221 conjuncts, 71 conjuncts are in the unsatisfiable core [2024-10-15 00:13:50,195 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-10-15 00:13:50,199 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-10-15 00:13:50,383 INFO L349 Elim1Store]: treesize reduction 17, result has 46.9 percent of original size [2024-10-15 00:13:50,384 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 20 treesize of output 27 [2024-10-15 00:13:50,530 INFO L134 CoverageAnalysis]: Checked inductivity of 181 backedges. 91 proven. 54 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2024-10-15 00:13:50,531 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-10-15 00:13:51,100 INFO L134 CoverageAnalysis]: Checked inductivity of 181 backedges. 37 proven. 116 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2024-10-15 00:13:51,101 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [804009222] provided 0 perfect and 2 imperfect interpolant sequences [2024-10-15 00:13:51,101 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-10-15 00:13:51,101 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [20, 11, 13] total 40 [2024-10-15 00:13:51,101 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [65077738] [2024-10-15 00:13:51,101 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-10-15 00:13:51,532 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-15 00:13:51,533 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 40 interpolants. [2024-10-15 00:13:51,534 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=126, Invalid=1434, Unknown=0, NotChecked=0, Total=1560 [2024-10-15 00:13:51,535 INFO L87 Difference]: Start difference. First operand 50 states and 62 transitions. cyclomatic complexity: 15 Second operand has 40 states, 40 states have (on average 2.65) internal successors, (106), 40 states have internal predecessors, (106), 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-10-15 00:13:54,634 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-15 00:13:54,634 INFO L93 Difference]: Finished difference Result 340 states and 408 transitions. [2024-10-15 00:13:54,634 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 340 states and 408 transitions. [2024-10-15 00:13:54,635 INFO L131 ngComponentsAnalysis]: Automaton has 8 accepting balls. 220 [2024-10-15 00:13:54,636 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 340 states to 340 states and 408 transitions. [2024-10-15 00:13:54,637 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 289 [2024-10-15 00:13:54,637 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 289 [2024-10-15 00:13:54,637 INFO L73 IsDeterministic]: Start isDeterministic. Operand 340 states and 408 transitions. [2024-10-15 00:13:54,637 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-10-15 00:13:54,637 INFO L218 hiAutomatonCegarLoop]: Abstraction has 340 states and 408 transitions. [2024-10-15 00:13:54,637 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 340 states and 408 transitions. [2024-10-15 00:13:54,641 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 340 to 170. [2024-10-15 00:13:54,645 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 170 states, 170 states have (on average 1.223529411764706) internal successors, (208), 169 states have internal predecessors, (208), 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-10-15 00:13:54,646 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 170 states to 170 states and 208 transitions. [2024-10-15 00:13:54,646 INFO L240 hiAutomatonCegarLoop]: Abstraction has 170 states and 208 transitions. [2024-10-15 00:13:54,646 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 88 states. [2024-10-15 00:13:54,647 INFO L425 stractBuchiCegarLoop]: Abstraction has 170 states and 208 transitions. [2024-10-15 00:13:54,647 INFO L332 stractBuchiCegarLoop]: ======== Iteration 13 ============ [2024-10-15 00:13:54,647 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 170 states and 208 transitions. [2024-10-15 00:13:54,647 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 108 [2024-10-15 00:13:54,647 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-15 00:13:54,647 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-15 00:13:54,648 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [5, 5, 4, 3, 2, 1, 1, 1, 1, 1] [2024-10-15 00:13:54,648 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [5, 5, 4, 3, 2, 1, 1, 1, 1, 1, 1] [2024-10-15 00:13:54,648 INFO L745 eck$LassoCheckResult]: Stem: 4024#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 4025#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; 4026#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; 4027#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); 4043#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4042#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 4040#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4041#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; 4066#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4064#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; 4062#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4063#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; 4058#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4059#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 4123#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4122#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; 4121#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4119#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; 4116#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4114#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; 4112#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4111#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 4110#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4109#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; 4106#strrchr_returnLabel#1 [2024-10-15 00:13:54,648 INFO L747 eck$LassoCheckResult]: Loop: 4106#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; 4105#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); 4104#L519 assume 0 == basename_#t~mem6#1;havoc basename_#t~mem6#1; 4102#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); 4100#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); 4098#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4094#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 4095#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4137#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; 4136#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4135#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; 4134#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4133#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; 4132#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4131#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; 4130#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4129#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; 4128#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4126#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; 4125#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4124#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; 4108#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4117#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 4115#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4107#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; 4106#strrchr_returnLabel#1 [2024-10-15 00:13:54,648 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:13:54,648 INFO L85 PathProgramCache]: Analyzing trace with hash -739661583, now seen corresponding path program 6 times [2024-10-15 00:13:54,649 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:13:54,649 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1151554227] [2024-10-15 00:13:54,649 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:13:54,649 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:13:54,656 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:13:54,657 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-15 00:13:54,661 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:13:54,663 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-15 00:13:54,664 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:13:54,664 INFO L85 PathProgramCache]: Analyzing trace with hash 1936761768, now seen corresponding path program 7 times [2024-10-15 00:13:54,664 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:13:54,664 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1266810807] [2024-10-15 00:13:54,664 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:13:54,664 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:13:54,671 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:13:54,671 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-15 00:13:54,674 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:13:54,676 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-15 00:13:54,676 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:13:54,676 INFO L85 PathProgramCache]: Analyzing trace with hash 32630968, now seen corresponding path program 7 times [2024-10-15 00:13:54,676 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:13:54,677 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2000114060] [2024-10-15 00:13:54,677 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:13:54,677 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:13:54,690 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-15 00:13:55,113 INFO L134 CoverageAnalysis]: Checked inductivity of 181 backedges. 51 proven. 128 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-10-15 00:13:55,113 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-15 00:13:55,114 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2000114060] [2024-10-15 00:13:55,114 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2000114060] provided 0 perfect and 1 imperfect interpolant sequences [2024-10-15 00:13:55,114 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [580918524] [2024-10-15 00:13:55,114 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2024-10-15 00:13:55,114 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-10-15 00:13:55,114 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:13:55,115 INFO L229 MonitoredProcess]: Starting monitored process 52 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-10-15 00:13:55,116 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (52)] Waiting until timeout for monitored process [2024-10-15 00:13:55,203 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-15 00:13:55,205 INFO L255 TraceCheckSpWp]: Trace formula consists of 308 conjuncts, 77 conjuncts are in the unsatisfiable core [2024-10-15 00:13:55,206 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-10-15 00:13:55,362 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-10-15 00:13:55,552 INFO L349 Elim1Store]: treesize reduction 3, result has 75.0 percent of original size [2024-10-15 00:13:55,552 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 23 treesize of output 20 [2024-10-15 00:13:55,574 INFO L134 CoverageAnalysis]: Checked inductivity of 181 backedges. 1 proven. 178 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-10-15 00:13:55,574 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-10-15 00:13:55,883 INFO L349 Elim1Store]: treesize reduction 4, result has 69.2 percent of original size [2024-10-15 00:13:55,883 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 57 treesize of output 56 [2024-10-15 00:13:55,947 INFO L134 CoverageAnalysis]: Checked inductivity of 181 backedges. 1 proven. 178 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-10-15 00:13:55,947 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [580918524] provided 0 perfect and 2 imperfect interpolant sequences [2024-10-15 00:13:55,947 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-10-15 00:13:55,947 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [20, 18, 18] total 45 [2024-10-15 00:13:55,948 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [74475626] [2024-10-15 00:13:55,948 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-10-15 00:13:56,375 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-15 00:13:56,376 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 45 interpolants. [2024-10-15 00:13:56,376 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=128, Invalid=1852, Unknown=0, NotChecked=0, Total=1980 [2024-10-15 00:13:56,376 INFO L87 Difference]: Start difference. First operand 170 states and 208 transitions. cyclomatic complexity: 46 Second operand has 45 states, 45 states have (on average 2.5555555555555554) internal successors, (115), 45 states have internal predecessors, (115), 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-10-15 00:13:57,437 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-15 00:13:57,437 INFO L93 Difference]: Finished difference Result 256 states and 308 transitions. [2024-10-15 00:13:57,437 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 256 states and 308 transitions. [2024-10-15 00:13:57,439 INFO L131 ngComponentsAnalysis]: Automaton has 6 accepting balls. 146 [2024-10-15 00:13:57,440 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 256 states to 256 states and 308 transitions. [2024-10-15 00:13:57,440 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 205 [2024-10-15 00:13:57,440 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 205 [2024-10-15 00:13:57,440 INFO L73 IsDeterministic]: Start isDeterministic. Operand 256 states and 308 transitions. [2024-10-15 00:13:57,441 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-10-15 00:13:57,441 INFO L218 hiAutomatonCegarLoop]: Abstraction has 256 states and 308 transitions. [2024-10-15 00:13:57,441 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 256 states and 308 transitions. [2024-10-15 00:13:57,445 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 256 to 224. [2024-10-15 00:13:57,446 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 224 states, 224 states have (on average 1.2232142857142858) internal successors, (274), 223 states have internal predecessors, (274), 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-10-15 00:13:57,446 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 224 states to 224 states and 274 transitions. [2024-10-15 00:13:57,447 INFO L240 hiAutomatonCegarLoop]: Abstraction has 224 states and 274 transitions. [2024-10-15 00:13:57,447 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 34 states. [2024-10-15 00:13:57,448 INFO L425 stractBuchiCegarLoop]: Abstraction has 224 states and 274 transitions. [2024-10-15 00:13:57,448 INFO L332 stractBuchiCegarLoop]: ======== Iteration 14 ============ [2024-10-15 00:13:57,448 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 224 states and 274 transitions. [2024-10-15 00:13:57,449 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 132 [2024-10-15 00:13:57,449 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-15 00:13:57,449 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-15 00:13:57,449 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [6, 6, 5, 3, 3, 1, 1, 1, 1, 1] [2024-10-15 00:13:57,449 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [6, 6, 5, 4, 2, 1, 1, 1, 1, 1, 1] [2024-10-15 00:13:57,450 INFO L745 eck$LassoCheckResult]: Stem: 4834#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 4835#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; 4836#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; 4837#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); 4877#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4876#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 4873#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4874#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; 4880#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4878#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; 4879#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4980#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; 4979#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4978#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 4977#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4976#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; 4975#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4974#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; 4931#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4981#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; 4851#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4852#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; 4929#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4927#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; 4925#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4922#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 4920#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4914#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; 4912#strrchr_returnLabel#1 [2024-10-15 00:13:57,450 INFO L747 eck$LassoCheckResult]: Loop: 4912#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; 4910#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); 4908#L519 assume 0 == basename_#t~mem6#1;havoc basename_#t~mem6#1; 4906#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); 4904#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); 4902#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4900#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; 4898#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4896#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; 4894#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4891#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; 4889#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4890#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; 4885#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4886#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; 4964#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4963#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; 4961#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4959#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 4947#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4956#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; 4950#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4946#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; 4935#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4941#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; 4916#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4934#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 4930#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 4915#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; 4912#strrchr_returnLabel#1 [2024-10-15 00:13:57,450 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:13:57,450 INFO L85 PathProgramCache]: Analyzing trace with hash -1703956519, now seen corresponding path program 7 times [2024-10-15 00:13:57,450 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:13:57,450 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [780065525] [2024-10-15 00:13:57,450 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:13:57,451 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:13:57,463 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:13:57,464 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-15 00:13:57,472 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:13:57,474 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-15 00:13:57,475 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:13:57,475 INFO L85 PathProgramCache]: Analyzing trace with hash 1768073744, now seen corresponding path program 8 times [2024-10-15 00:13:57,475 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:13:57,475 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1085925153] [2024-10-15 00:13:57,475 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:13:57,477 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:13:57,483 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:13:57,483 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-15 00:13:57,487 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:13:57,490 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-15 00:13:57,490 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:13:57,491 INFO L85 PathProgramCache]: Analyzing trace with hash 341190968, now seen corresponding path program 8 times [2024-10-15 00:13:57,491 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:13:57,491 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [653735099] [2024-10-15 00:13:57,491 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:13:57,491 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:13:57,508 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-15 00:13:58,013 INFO L134 CoverageAnalysis]: Checked inductivity of 265 backedges. 63 proven. 200 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-10-15 00:13:58,013 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-15 00:13:58,013 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [653735099] [2024-10-15 00:13:58,013 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [653735099] provided 0 perfect and 1 imperfect interpolant sequences [2024-10-15 00:13:58,013 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [553339377] [2024-10-15 00:13:58,013 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-10-15 00:13:58,014 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-10-15 00:13:58,014 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:13:58,015 INFO L229 MonitoredProcess]: Starting monitored process 53 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-10-15 00:13:58,016 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (53)] Waiting until timeout for monitored process [2024-10-15 00:13:58,116 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2024-10-15 00:13:58,116 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2024-10-15 00:13:58,118 INFO L255 TraceCheckSpWp]: Trace formula consists of 354 conjuncts, 96 conjuncts are in the unsatisfiable core [2024-10-15 00:13:58,121 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-10-15 00:13:58,255 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-10-15 00:13:58,431 INFO L134 CoverageAnalysis]: Checked inductivity of 265 backedges. 63 proven. 198 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-10-15 00:13:58,431 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-10-15 00:13:58,784 INFO L349 Elim1Store]: treesize reduction 10, result has 47.4 percent of original size [2024-10-15 00:13:58,784 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-10-15 00:13:59,208 INFO L134 CoverageAnalysis]: Checked inductivity of 265 backedges. 13 proven. 250 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-10-15 00:13:59,208 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [553339377] provided 0 perfect and 2 imperfect interpolant sequences [2024-10-15 00:13:59,208 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-10-15 00:13:59,208 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [22, 22, 24] total 52 [2024-10-15 00:13:59,209 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [693010061] [2024-10-15 00:13:59,209 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-10-15 00:13:59,719 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-15 00:13:59,719 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 52 interpolants. [2024-10-15 00:13:59,719 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=183, Invalid=2469, Unknown=0, NotChecked=0, Total=2652 [2024-10-15 00:13:59,720 INFO L87 Difference]: Start difference. First operand 224 states and 274 transitions. cyclomatic complexity: 61 Second operand has 52 states, 52 states have (on average 2.5) internal successors, (130), 52 states have internal predecessors, (130), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-10-15 00:14:02,007 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-15 00:14:02,007 INFO L93 Difference]: Finished difference Result 998 states and 1197 transitions. [2024-10-15 00:14:02,007 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 998 states and 1197 transitions. [2024-10-15 00:14:02,010 INFO L131 ngComponentsAnalysis]: Automaton has 11 accepting balls. 732 [2024-10-15 00:14:02,013 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 998 states to 998 states and 1197 transitions. [2024-10-15 00:14:02,013 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 898 [2024-10-15 00:14:02,014 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 898 [2024-10-15 00:14:02,014 INFO L73 IsDeterministic]: Start isDeterministic. Operand 998 states and 1197 transitions. [2024-10-15 00:14:02,016 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-10-15 00:14:02,016 INFO L218 hiAutomatonCegarLoop]: Abstraction has 998 states and 1197 transitions. [2024-10-15 00:14:02,016 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 998 states and 1197 transitions. [2024-10-15 00:14:02,024 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 998 to 656. [2024-10-15 00:14:02,025 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 656 states, 656 states have (on average 1.2317073170731707) internal successors, (808), 655 states have internal predecessors, (808), 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-10-15 00:14:02,026 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 656 states to 656 states and 808 transitions. [2024-10-15 00:14:02,026 INFO L240 hiAutomatonCegarLoop]: Abstraction has 656 states and 808 transitions. [2024-10-15 00:14:02,026 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 53 states. [2024-10-15 00:14:02,027 INFO L425 stractBuchiCegarLoop]: Abstraction has 656 states and 808 transitions. [2024-10-15 00:14:02,027 INFO L332 stractBuchiCegarLoop]: ======== Iteration 15 ============ [2024-10-15 00:14:02,027 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 656 states and 808 transitions. [2024-10-15 00:14:02,029 INFO L131 ngComponentsAnalysis]: Automaton has 9 accepting balls. 484 [2024-10-15 00:14:02,029 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-15 00:14:02,029 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-15 00:14:02,030 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [6, 6, 5, 3, 3, 1, 1, 1, 1, 1] [2024-10-15 00:14:02,030 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [7, 7, 6, 5, 2, 1, 1, 1, 1, 1, 1] [2024-10-15 00:14:02,030 INFO L745 eck$LassoCheckResult]: Stem: 6532#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 6533#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; 6534#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; 6535#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); 6549#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 6548#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 6546#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 6547#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; 6569#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 6567#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; 6568#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 6722#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; 6721#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 6720#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 6719#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 6718#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; 6717#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 6716#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; 6714#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 6712#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; 6709#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 6704#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; 6701#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 6681#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; 6678#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 6675#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 6672#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 6667#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; 6663#strrchr_returnLabel#1 [2024-10-15 00:14:02,031 INFO L747 eck$LassoCheckResult]: Loop: 6663#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; 6661#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); 6659#L519 assume 0 == basename_#t~mem6#1;havoc basename_#t~mem6#1; 6654#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); 6653#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); 6652#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 6651#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; 6649#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 6647#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; 6645#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 6642#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; 6640#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 6641#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; 6636#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 6637#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; 6729#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 6728#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; 6727#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 6726#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; 6627#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 6628#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; 6624#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 6622#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 6623#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 6690#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; 6612#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 6613#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; 6685#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 6682#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; 6680#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 6676#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 6674#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 6670#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; 6663#strrchr_returnLabel#1 [2024-10-15 00:14:02,031 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:14:02,031 INFO L85 PathProgramCache]: Analyzing trace with hash -1703956519, now seen corresponding path program 8 times [2024-10-15 00:14:02,031 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:14:02,031 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [800303013] [2024-10-15 00:14:02,031 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:14:02,032 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:14:02,039 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:14:02,040 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-15 00:14:02,044 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:14:02,046 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-15 00:14:02,046 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:14:02,046 INFO L85 PathProgramCache]: Analyzing trace with hash 1363647096, now seen corresponding path program 9 times [2024-10-15 00:14:02,046 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:14:02,046 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1677178718] [2024-10-15 00:14:02,047 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:14:02,047 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:14:02,053 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:14:02,053 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-15 00:14:02,061 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:14:02,063 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-15 00:14:02,064 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:14:02,064 INFO L85 PathProgramCache]: Analyzing trace with hash 1251427744, now seen corresponding path program 9 times [2024-10-15 00:14:02,064 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:14:02,064 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1409072458] [2024-10-15 00:14:02,064 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:14:02,064 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:14:02,078 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-15 00:14:02,507 INFO L134 CoverageAnalysis]: Checked inductivity of 313 backedges. 89 proven. 220 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-10-15 00:14:02,507 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-15 00:14:02,507 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1409072458] [2024-10-15 00:14:02,508 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1409072458] provided 0 perfect and 1 imperfect interpolant sequences [2024-10-15 00:14:02,508 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1146287461] [2024-10-15 00:14:02,508 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2024-10-15 00:14:02,508 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-10-15 00:14:02,508 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:14:02,509 INFO L229 MonitoredProcess]: Starting monitored process 54 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-10-15 00:14:02,511 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (54)] Waiting until timeout for monitored process [2024-10-15 00:14:02,604 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2024-10-15 00:14:02,604 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2024-10-15 00:14:02,605 INFO L255 TraceCheckSpWp]: Trace formula consists of 244 conjuncts, 58 conjuncts are in the unsatisfiable core [2024-10-15 00:14:02,608 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-10-15 00:14:02,612 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-10-15 00:14:02,847 INFO L190 IndexEqualityManager]: detected not equals via solver [2024-10-15 00:14:02,847 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-10-15 00:14:02,872 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-10-15 00:14:02,886 INFO L134 CoverageAnalysis]: Checked inductivity of 313 backedges. 198 proven. 26 refuted. 0 times theorem prover too weak. 89 trivial. 0 not checked. [2024-10-15 00:14:02,886 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-10-15 00:14:03,415 INFO L134 CoverageAnalysis]: Checked inductivity of 313 backedges. 174 proven. 50 refuted. 0 times theorem prover too weak. 89 trivial. 0 not checked. [2024-10-15 00:14:03,415 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1146287461] provided 0 perfect and 2 imperfect interpolant sequences [2024-10-15 00:14:03,415 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-10-15 00:14:03,416 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 13, 14] total 41 [2024-10-15 00:14:03,416 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [133143428] [2024-10-15 00:14:03,416 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-10-15 00:14:04,043 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-15 00:14:04,044 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 41 interpolants. [2024-10-15 00:14:04,044 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=168, Invalid=1472, Unknown=0, NotChecked=0, Total=1640 [2024-10-15 00:14:04,044 INFO L87 Difference]: Start difference. First operand 656 states and 808 transitions. cyclomatic complexity: 169 Second operand has 41 states, 41 states have (on average 2.6341463414634148) internal successors, (108), 41 states have internal predecessors, (108), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-10-15 00:14:05,694 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-15 00:14:05,694 INFO L93 Difference]: Finished difference Result 1004 states and 1176 transitions. [2024-10-15 00:14:05,694 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1004 states and 1176 transitions. [2024-10-15 00:14:05,697 INFO L131 ngComponentsAnalysis]: Automaton has 12 accepting balls. 412 [2024-10-15 00:14:05,699 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1004 states to 692 states and 836 transitions. [2024-10-15 00:14:05,699 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 520 [2024-10-15 00:14:05,700 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 520 [2024-10-15 00:14:05,700 INFO L73 IsDeterministic]: Start isDeterministic. Operand 692 states and 836 transitions. [2024-10-15 00:14:05,700 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-10-15 00:14:05,700 INFO L218 hiAutomatonCegarLoop]: Abstraction has 692 states and 836 transitions. [2024-10-15 00:14:05,701 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 692 states and 836 transitions. [2024-10-15 00:14:05,706 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 692 to 480. [2024-10-15 00:14:05,706 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 480 states, 480 states have (on average 1.2375) internal successors, (594), 479 states have internal predecessors, (594), 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-10-15 00:14:05,707 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 480 states to 480 states and 594 transitions. [2024-10-15 00:14:05,707 INFO L240 hiAutomatonCegarLoop]: Abstraction has 480 states and 594 transitions. [2024-10-15 00:14:05,708 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 56 states. [2024-10-15 00:14:05,709 INFO L425 stractBuchiCegarLoop]: Abstraction has 480 states and 594 transitions. [2024-10-15 00:14:05,709 INFO L332 stractBuchiCegarLoop]: ======== Iteration 16 ============ [2024-10-15 00:14:05,709 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 480 states and 594 transitions. [2024-10-15 00:14:05,710 INFO L131 ngComponentsAnalysis]: Automaton has 9 accepting balls. 300 [2024-10-15 00:14:05,710 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-15 00:14:05,710 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-15 00:14:05,711 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [5, 5, 4, 3, 2, 1, 1, 1, 1, 1] [2024-10-15 00:14:05,712 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [7, 7, 6, 4, 3, 1, 1, 1, 1, 1, 1] [2024-10-15 00:14:05,712 INFO L745 eck$LassoCheckResult]: Stem: 8677#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 8678#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; 8679#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; 8680#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); 8929#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 8927#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 8926#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 8925#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; 8924#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 8922#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; 8921#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 8920#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; 8919#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 8918#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 8917#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 8916#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; 8915#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 8913#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; 8912#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 8911#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; 8910#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 8894#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 9062#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 9053#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; 8795#strrchr_returnLabel#1 [2024-10-15 00:14:05,712 INFO L747 eck$LassoCheckResult]: Loop: 8795#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; 9046#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); 9044#L519 assume 0 == basename_#t~mem6#1;havoc basename_#t~mem6#1; 9042#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); 9040#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); 9038#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 9036#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 9035#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 9099#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; 9098#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 9022#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; 9020#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 9021#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; 9016#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 9017#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; 9122#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 9121#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; 9120#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 9119#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 9118#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 9117#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; 9116#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 9115#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; 9061#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 9064#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; 9063#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 9060#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; 9058#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 9059#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; 9055#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 9057#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 9056#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 9054#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; 8795#strrchr_returnLabel#1 [2024-10-15 00:14:05,712 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:14:05,712 INFO L85 PathProgramCache]: Analyzing trace with hash -739661583, now seen corresponding path program 9 times [2024-10-15 00:14:05,712 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:14:05,712 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1712489726] [2024-10-15 00:14:05,713 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:14:05,713 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:14:05,734 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:14:05,734 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-15 00:14:05,737 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:14:05,739 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-15 00:14:05,740 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:14:05,740 INFO L85 PathProgramCache]: Analyzing trace with hash 1305946874, now seen corresponding path program 10 times [2024-10-15 00:14:05,740 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:14:05,740 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [250173542] [2024-10-15 00:14:05,740 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:14:05,740 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:14:05,746 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:14:05,747 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-15 00:14:05,751 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:14:05,753 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-15 00:14:05,754 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:14:05,754 INFO L85 PathProgramCache]: Analyzing trace with hash -2121637878, now seen corresponding path program 10 times [2024-10-15 00:14:05,754 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:14:05,754 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [294928713] [2024-10-15 00:14:05,754 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:14:05,754 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:14:05,769 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-15 00:14:06,100 INFO L134 CoverageAnalysis]: Checked inductivity of 265 backedges. 109 proven. 144 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2024-10-15 00:14:06,100 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-15 00:14:06,101 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [294928713] [2024-10-15 00:14:06,101 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [294928713] provided 0 perfect and 1 imperfect interpolant sequences [2024-10-15 00:14:06,101 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1023843686] [2024-10-15 00:14:06,101 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2024-10-15 00:14:06,101 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-10-15 00:14:06,101 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:14:06,103 INFO L229 MonitoredProcess]: Starting monitored process 55 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-10-15 00:14:06,104 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (55)] Waiting until timeout for monitored process [2024-10-15 00:14:06,207 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2024-10-15 00:14:06,207 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2024-10-15 00:14:06,211 INFO L255 TraceCheckSpWp]: Trace formula consists of 349 conjuncts, 81 conjuncts are in the unsatisfiable core [2024-10-15 00:14:06,213 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-10-15 00:14:06,308 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-10-15 00:14:06,384 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-10-15 00:14:06,385 INFO L134 CoverageAnalysis]: Checked inductivity of 265 backedges. 109 proven. 142 refuted. 0 times theorem prover too weak. 14 trivial. 0 not checked. [2024-10-15 00:14:06,385 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-10-15 00:14:06,432 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-10-15 00:14:06,610 INFO L134 CoverageAnalysis]: Checked inductivity of 265 backedges. 109 proven. 142 refuted. 0 times theorem prover too weak. 14 trivial. 0 not checked. [2024-10-15 00:14:06,610 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1023843686] provided 0 perfect and 2 imperfect interpolant sequences [2024-10-15 00:14:06,610 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-10-15 00:14:06,610 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 16, 15] total 29 [2024-10-15 00:14:06,610 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [959839478] [2024-10-15 00:14:06,610 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-10-15 00:14:07,208 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-15 00:14:07,208 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 29 interpolants. [2024-10-15 00:14:07,209 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=78, Invalid=734, Unknown=0, NotChecked=0, Total=812 [2024-10-15 00:14:07,209 INFO L87 Difference]: Start difference. First operand 480 states and 594 transitions. cyclomatic complexity: 135 Second operand has 29 states, 29 states have (on average 3.2758620689655173) internal successors, (95), 29 states have internal predecessors, (95), 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-10-15 00:14:07,531 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-15 00:14:07,531 INFO L93 Difference]: Finished difference Result 400 states and 487 transitions. [2024-10-15 00:14:07,531 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 400 states and 487 transitions. [2024-10-15 00:14:07,532 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 164 [2024-10-15 00:14:07,533 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 400 states to 302 states and 373 transitions. [2024-10-15 00:14:07,533 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 184 [2024-10-15 00:14:07,534 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 184 [2024-10-15 00:14:07,534 INFO L73 IsDeterministic]: Start isDeterministic. Operand 302 states and 373 transitions. [2024-10-15 00:14:07,535 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-10-15 00:14:07,535 INFO L218 hiAutomatonCegarLoop]: Abstraction has 302 states and 373 transitions. [2024-10-15 00:14:07,535 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 302 states and 373 transitions. [2024-10-15 00:14:07,537 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 302 to 238. [2024-10-15 00:14:07,537 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 238 states, 238 states have (on average 1.23109243697479) internal successors, (293), 237 states have internal predecessors, (293), 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-10-15 00:14:07,538 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 238 states to 238 states and 293 transitions. [2024-10-15 00:14:07,538 INFO L240 hiAutomatonCegarLoop]: Abstraction has 238 states and 293 transitions. [2024-10-15 00:14:07,538 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2024-10-15 00:14:07,538 INFO L425 stractBuchiCegarLoop]: Abstraction has 238 states and 293 transitions. [2024-10-15 00:14:07,540 INFO L332 stractBuchiCegarLoop]: ======== Iteration 17 ============ [2024-10-15 00:14:07,540 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 238 states and 293 transitions. [2024-10-15 00:14:07,540 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 132 [2024-10-15 00:14:07,540 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-15 00:14:07,540 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-15 00:14:07,541 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [7, 7, 6, 4, 3, 1, 1, 1, 1, 1] [2024-10-15 00:14:07,541 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [7, 7, 6, 6, 1, 1, 1, 1, 1, 1, 1] [2024-10-15 00:14:07,541 INFO L745 eck$LassoCheckResult]: Stem: 9946#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 9947#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; 9948#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; 9949#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); 9943#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 9935#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; 9936#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 9940#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; 10138#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 10135#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; 10136#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 9956#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; 9944#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 9945#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 9941#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 9942#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; 10147#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 9938#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 9939#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 9987#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; 9985#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 9983#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 9975#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 9980#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; 9978#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 9974#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; 9973#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 9968#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; 9965#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 9961#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 9962#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 9970#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; 10068#strrchr_returnLabel#1 [2024-10-15 00:14:07,541 INFO L747 eck$LassoCheckResult]: Loop: 10068#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; 10067#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); 10066#L519 assume 0 == basename_#t~mem6#1;havoc basename_#t~mem6#1; 10065#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); 10064#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); 10062#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 10059#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; 10008#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 10009#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; 10000#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 10001#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; 10146#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 10172#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; 10171#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 10170#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; 10169#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 10168#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; 10166#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 10164#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; 10162#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 10160#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; 10158#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 10156#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; 10084#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 10153#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; 10151#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 10083#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; 10075#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 10079#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; 10070#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 10074#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 10072#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 10069#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; 10068#strrchr_returnLabel#1 [2024-10-15 00:14:07,541 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:14:07,541 INFO L85 PathProgramCache]: Analyzing trace with hash 2049317699, now seen corresponding path program 10 times [2024-10-15 00:14:07,541 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:14:07,541 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1085049531] [2024-10-15 00:14:07,542 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:14:07,542 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:14:07,553 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:14:07,553 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-15 00:14:07,558 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:14:07,560 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-15 00:14:07,561 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:14:07,561 INFO L85 PathProgramCache]: Analyzing trace with hash 662582518, now seen corresponding path program 11 times [2024-10-15 00:14:07,561 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:14:07,561 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1557276130] [2024-10-15 00:14:07,561 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:14:07,561 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:14:07,567 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:14:07,567 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-15 00:14:07,571 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:14:07,573 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-15 00:14:07,573 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:14:07,573 INFO L85 PathProgramCache]: Analyzing trace with hash 637012468, now seen corresponding path program 11 times [2024-10-15 00:14:07,573 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:14:07,573 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1176627492] [2024-10-15 00:14:07,573 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:14:07,574 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:14:07,587 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-15 00:14:08,191 INFO L134 CoverageAnalysis]: Checked inductivity of 365 backedges. 74 proven. 289 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-10-15 00:14:08,191 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-15 00:14:08,191 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1176627492] [2024-10-15 00:14:08,191 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1176627492] provided 0 perfect and 1 imperfect interpolant sequences [2024-10-15 00:14:08,192 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [970651112] [2024-10-15 00:14:08,192 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2024-10-15 00:14:08,192 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-10-15 00:14:08,192 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:14:08,194 INFO L229 MonitoredProcess]: Starting monitored process 56 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-10-15 00:14:08,195 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (56)] Waiting until timeout for monitored process [2024-10-15 00:14:08,306 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 8 check-sat command(s) [2024-10-15 00:14:08,306 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2024-10-15 00:14:08,308 INFO L255 TraceCheckSpWp]: Trace formula consists of 400 conjuncts, 103 conjuncts are in the unsatisfiable core [2024-10-15 00:14:08,310 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-10-15 00:14:08,595 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-10-15 00:14:09,018 INFO L134 CoverageAnalysis]: Checked inductivity of 365 backedges. 75 proven. 286 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-10-15 00:14:09,018 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-10-15 00:14:09,224 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-10-15 00:14:09,225 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-10-15 00:14:09,693 INFO L134 CoverageAnalysis]: Checked inductivity of 365 backedges. 75 proven. 286 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-10-15 00:14:09,693 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [970651112] provided 0 perfect and 2 imperfect interpolant sequences [2024-10-15 00:14:09,693 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-10-15 00:14:09,693 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [25, 23, 22] total 61 [2024-10-15 00:14:09,693 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [534223546] [2024-10-15 00:14:09,693 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-10-15 00:14:10,302 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-15 00:14:10,302 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 61 interpolants. [2024-10-15 00:14:10,303 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=215, Invalid=3445, Unknown=0, NotChecked=0, Total=3660 [2024-10-15 00:14:10,303 INFO L87 Difference]: Start difference. First operand 238 states and 293 transitions. cyclomatic complexity: 67 Second operand has 61 states, 61 states have (on average 2.6557377049180326) internal successors, (162), 61 states have internal predecessors, (162), 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-10-15 00:14:13,300 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-15 00:14:13,300 INFO L93 Difference]: Finished difference Result 836 states and 1013 transitions. [2024-10-15 00:14:13,301 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 836 states and 1013 transitions. [2024-10-15 00:14:13,303 INFO L131 ngComponentsAnalysis]: Automaton has 8 accepting balls. 618 [2024-10-15 00:14:13,305 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 836 states to 836 states and 1013 transitions. [2024-10-15 00:14:13,305 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 666 [2024-10-15 00:14:13,305 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 666 [2024-10-15 00:14:13,305 INFO L73 IsDeterministic]: Start isDeterministic. Operand 836 states and 1013 transitions. [2024-10-15 00:14:13,306 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-10-15 00:14:13,306 INFO L218 hiAutomatonCegarLoop]: Abstraction has 836 states and 1013 transitions. [2024-10-15 00:14:13,306 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 836 states and 1013 transitions. [2024-10-15 00:14:13,312 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 836 to 604. [2024-10-15 00:14:13,313 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 604 states, 604 states have (on average 1.228476821192053) internal successors, (742), 603 states have internal predecessors, (742), 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-10-15 00:14:13,314 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 604 states to 604 states and 742 transitions. [2024-10-15 00:14:13,314 INFO L240 hiAutomatonCegarLoop]: Abstraction has 604 states and 742 transitions. [2024-10-15 00:14:13,314 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 83 states. [2024-10-15 00:14:13,314 INFO L425 stractBuchiCegarLoop]: Abstraction has 604 states and 742 transitions. [2024-10-15 00:14:13,315 INFO L332 stractBuchiCegarLoop]: ======== Iteration 18 ============ [2024-10-15 00:14:13,315 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 604 states and 742 transitions. [2024-10-15 00:14:13,316 INFO L131 ngComponentsAnalysis]: Automaton has 8 accepting balls. 454 [2024-10-15 00:14:13,316 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-15 00:14:13,316 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-15 00:14:13,316 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [7, 7, 6, 4, 3, 1, 1, 1, 1, 1] [2024-10-15 00:14:13,316 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [8, 8, 7, 6, 2, 1, 1, 1, 1, 1, 1] [2024-10-15 00:14:13,317 INFO L745 eck$LassoCheckResult]: Stem: 11610#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 11611#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; 11612#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; 11613#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); 11650#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 11648#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; 11649#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 11665#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; 11666#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 11660#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; 11661#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 12036#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; 12035#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 12034#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 12032#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 12030#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; 12028#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 12026#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 12024#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 12022#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; 12020#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 12018#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 12016#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 12010#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; 12005#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 11998#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; 11984#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 11989#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; 11987#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 11988#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 11745#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 11746#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; 11773#strrchr_returnLabel#1 [2024-10-15 00:14:13,317 INFO L747 eck$LassoCheckResult]: Loop: 11773#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; 11840#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); 11838#L519 assume 0 == basename_#t~mem6#1;havoc basename_#t~mem6#1; 11835#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); 11833#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); 11830#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 11828#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; 11826#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 11824#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; 11819#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 11815#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; 11816#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 11811#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; 11812#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 11808#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; 11807#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 11806#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; 11805#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 11804#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; 11803#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 11802#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; 11801#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 11800#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; 11799#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 11798#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; 11797#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 11796#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 11794#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 11792#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; 11790#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 11730#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; 11727#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 11728#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; 12181#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 12179#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 12177#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_#res#1.base, strrchr_#res#1.offset := strrchr_~l~0#1.base, strrchr_~l~0#1.offset; 11773#strrchr_returnLabel#1 [2024-10-15 00:14:13,317 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:14:13,317 INFO L85 PathProgramCache]: Analyzing trace with hash 2049317699, now seen corresponding path program 11 times [2024-10-15 00:14:13,317 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:14:13,317 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1268061455] [2024-10-15 00:14:13,317 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:14:13,317 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:14:13,326 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:14:13,326 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-15 00:14:13,330 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:14:13,332 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-15 00:14:13,333 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:14:13,333 INFO L85 PathProgramCache]: Analyzing trace with hash -487713056, now seen corresponding path program 12 times [2024-10-15 00:14:13,333 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:14:13,333 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1345441118] [2024-10-15 00:14:13,333 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:14:13,333 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:14:13,340 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:14:13,340 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-15 00:14:13,344 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:14:13,346 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-15 00:14:13,346 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:14:13,346 INFO L85 PathProgramCache]: Analyzing trace with hash -1235665698, now seen corresponding path program 12 times [2024-10-15 00:14:13,346 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:14:13,346 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [295560731] [2024-10-15 00:14:13,346 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:14:13,346 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:14:13,359 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-15 00:14:13,819 INFO L134 CoverageAnalysis]: Checked inductivity of 421 backedges. 105 proven. 312 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-10-15 00:14:13,820 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-15 00:14:13,820 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [295560731] [2024-10-15 00:14:13,820 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [295560731] provided 0 perfect and 1 imperfect interpolant sequences [2024-10-15 00:14:13,820 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [774327953] [2024-10-15 00:14:13,820 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2024-10-15 00:14:13,820 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-10-15 00:14:13,820 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:14:13,822 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-10-15 00:14:13,823 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-10-15 00:14:13,946 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 8 check-sat command(s) [2024-10-15 00:14:13,946 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2024-10-15 00:14:13,948 INFO L255 TraceCheckSpWp]: Trace formula consists of 418 conjuncts, 121 conjuncts are in the unsatisfiable core [2024-10-15 00:14:13,951 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-10-15 00:14:14,102 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-10-15 00:14:14,469 INFO L134 CoverageAnalysis]: Checked inductivity of 421 backedges. 81 proven. 338 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-10-15 00:14:14,469 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-10-15 00:14:15,230 INFO L349 Elim1Store]: treesize reduction 40, result has 50.6 percent of original size [2024-10-15 00:14:15,230 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 5 select indices, 5 select index equivalence classes, 0 disjoint index pairs (out of 10 index pairs), introduced 5 new quantified variables, introduced 10 case distinctions, treesize of input 264 treesize of output 246 [2024-10-15 00:14:15,899 INFO L134 CoverageAnalysis]: Checked inductivity of 421 backedges. 28 proven. 391 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-10-15 00:14:15,900 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [774327953] provided 0 perfect and 2 imperfect interpolant sequences [2024-10-15 00:14:15,900 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-10-15 00:14:15,900 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 29, 29] total 65 [2024-10-15 00:14:15,900 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1263928567] [2024-10-15 00:14:15,900 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-10-15 00:14:16,620 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-15 00:14:16,620 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 65 interpolants. [2024-10-15 00:14:16,621 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=243, Invalid=3917, Unknown=0, NotChecked=0, Total=4160 [2024-10-15 00:14:16,621 INFO L87 Difference]: Start difference. First operand 604 states and 742 transitions. cyclomatic complexity: 158 Second operand has 65 states, 65 states have (on average 2.5076923076923077) internal successors, (163), 65 states have internal predecessors, (163), 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-10-15 00:14:21,939 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-15 00:14:21,940 INFO L93 Difference]: Finished difference Result 670 states and 783 transitions. [2024-10-15 00:14:21,940 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 670 states and 783 transitions. [2024-10-15 00:14:21,945 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 236 [2024-10-15 00:14:21,946 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 670 states to 446 states and 541 transitions. [2024-10-15 00:14:21,946 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 256 [2024-10-15 00:14:21,946 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 256 [2024-10-15 00:14:21,946 INFO L73 IsDeterministic]: Start isDeterministic. Operand 446 states and 541 transitions. [2024-10-15 00:14:21,947 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-10-15 00:14:21,947 INFO L218 hiAutomatonCegarLoop]: Abstraction has 446 states and 541 transitions. [2024-10-15 00:14:21,947 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 446 states and 541 transitions. [2024-10-15 00:14:21,951 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 446 to 270. [2024-10-15 00:14:21,951 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 270 states, 270 states have (on average 1.2333333333333334) internal successors, (333), 269 states have internal predecessors, (333), 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-10-15 00:14:21,952 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 270 states to 270 states and 333 transitions. [2024-10-15 00:14:21,952 INFO L240 hiAutomatonCegarLoop]: Abstraction has 270 states and 333 transitions. [2024-10-15 00:14:21,952 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 99 states. [2024-10-15 00:14:21,952 INFO L425 stractBuchiCegarLoop]: Abstraction has 270 states and 333 transitions. [2024-10-15 00:14:21,952 INFO L332 stractBuchiCegarLoop]: ======== Iteration 19 ============ [2024-10-15 00:14:21,952 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 270 states and 333 transitions. [2024-10-15 00:14:21,953 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 148 [2024-10-15 00:14:21,953 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-15 00:14:21,953 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-15 00:14:21,953 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [8, 8, 7, 5, 3, 1, 1, 1, 1, 1] [2024-10-15 00:14:21,953 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [8, 8, 7, 7, 1, 1, 1, 1, 1, 1, 1] [2024-10-15 00:14:21,954 INFO L745 eck$LassoCheckResult]: Stem: 13532#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 13533#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; 13534#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; 13535#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); 13608#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13606#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; 13607#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13602#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; 13603#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13523#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; 13524#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13542#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; 13543#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13598#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 13599#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13594#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; 13595#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13590#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 13591#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13586#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; 13587#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13582#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 13583#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13578#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; 13579#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13574#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 13575#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13710#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; 13709#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13688#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; 13685#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13683#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; 13680#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13679#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 13677#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13659#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; 13656#strrchr_returnLabel#1 [2024-10-15 00:14:21,954 INFO L747 eck$LassoCheckResult]: Loop: 13656#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; 13653#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); 13651#L519 assume 0 == basename_#t~mem6#1;havoc basename_#t~mem6#1; 13649#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); 13647#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); 13646#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13627#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; 13526#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13527#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; 13629#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13630#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; 13746#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13745#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; 13744#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13743#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; 13742#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13741#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; 13740#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13739#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; 13738#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13737#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; 13736#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13735#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; 13734#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13733#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; 13732#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13731#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; 13703#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13570#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; 13567#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13568#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; 13696#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13556#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; 13557#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13695#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 13693#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 13660#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; 13656#strrchr_returnLabel#1 [2024-10-15 00:14:21,954 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:14:21,954 INFO L85 PathProgramCache]: Analyzing trace with hash 930090669, now seen corresponding path program 12 times [2024-10-15 00:14:21,954 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:14:21,954 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [371280379] [2024-10-15 00:14:21,954 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:14:21,954 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:14:21,963 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:14:21,963 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-15 00:14:21,967 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:14:21,970 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-15 00:14:21,971 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:14:21,971 INFO L85 PathProgramCache]: Analyzing trace with hash -1188777634, now seen corresponding path program 13 times [2024-10-15 00:14:21,971 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:14:21,971 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [95511179] [2024-10-15 00:14:21,971 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:14:21,971 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:14:21,979 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:14:21,979 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-15 00:14:21,987 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:14:21,990 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-15 00:14:21,990 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:14:21,990 INFO L85 PathProgramCache]: Analyzing trace with hash 1338416690, now seen corresponding path program 13 times [2024-10-15 00:14:21,990 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:14:21,990 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1485169784] [2024-10-15 00:14:21,990 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:14:21,990 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:14:22,004 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-15 00:14:22,573 INFO L134 CoverageAnalysis]: Checked inductivity of 481 backedges. 87 proven. 392 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-10-15 00:14:22,573 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-15 00:14:22,573 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1485169784] [2024-10-15 00:14:22,573 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1485169784] provided 0 perfect and 1 imperfect interpolant sequences [2024-10-15 00:14:22,573 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1330930847] [2024-10-15 00:14:22,573 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2024-10-15 00:14:22,573 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-10-15 00:14:22,573 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:14:22,575 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-10-15 00:14:22,576 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-10-15 00:14:22,690 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-15 00:14:22,693 INFO L255 TraceCheckSpWp]: Trace formula consists of 441 conjuncts, 101 conjuncts are in the unsatisfiable core [2024-10-15 00:14:22,695 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-10-15 00:14:22,939 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-10-15 00:14:23,286 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-10-15 00:14:23,286 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-10-15 00:14:23,307 INFO L134 CoverageAnalysis]: Checked inductivity of 481 backedges. 87 proven. 390 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-10-15 00:14:23,307 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-10-15 00:14:23,467 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-10-15 00:14:23,468 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-10-15 00:14:23,966 INFO L134 CoverageAnalysis]: Checked inductivity of 481 backedges. 87 proven. 390 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-10-15 00:14:23,967 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1330930847] provided 0 perfect and 2 imperfect interpolant sequences [2024-10-15 00:14:23,967 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-10-15 00:14:23,967 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [26, 24, 24] total 63 [2024-10-15 00:14:23,967 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2101166840] [2024-10-15 00:14:23,967 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-10-15 00:14:24,727 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-15 00:14:24,728 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 63 interpolants. [2024-10-15 00:14:24,728 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=211, Invalid=3695, Unknown=0, NotChecked=0, Total=3906 [2024-10-15 00:14:24,729 INFO L87 Difference]: Start difference. First operand 270 states and 333 transitions. cyclomatic complexity: 75 Second operand has 63 states, 63 states have (on average 2.8095238095238093) internal successors, (177), 63 states have internal predecessors, (177), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-10-15 00:14:28,053 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-15 00:14:28,053 INFO L93 Difference]: Finished difference Result 892 states and 1086 transitions. [2024-10-15 00:14:28,054 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 892 states and 1086 transitions. [2024-10-15 00:14:28,056 INFO L131 ngComponentsAnalysis]: Automaton has 8 accepting balls. 672 [2024-10-15 00:14:28,059 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 892 states to 892 states and 1086 transitions. [2024-10-15 00:14:28,060 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 720 [2024-10-15 00:14:28,060 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 720 [2024-10-15 00:14:28,060 INFO L73 IsDeterministic]: Start isDeterministic. Operand 892 states and 1086 transitions. [2024-10-15 00:14:28,060 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-10-15 00:14:28,060 INFO L218 hiAutomatonCegarLoop]: Abstraction has 892 states and 1086 transitions. [2024-10-15 00:14:28,061 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 892 states and 1086 transitions. [2024-10-15 00:14:28,071 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 892 to 726. [2024-10-15 00:14:28,072 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 726 states, 726 states have (on average 1.2355371900826446) internal successors, (897), 725 states have internal predecessors, (897), 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-10-15 00:14:28,073 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 726 states to 726 states and 897 transitions. [2024-10-15 00:14:28,073 INFO L240 hiAutomatonCegarLoop]: Abstraction has 726 states and 897 transitions. [2024-10-15 00:14:28,073 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 67 states. [2024-10-15 00:14:28,074 INFO L425 stractBuchiCegarLoop]: Abstraction has 726 states and 897 transitions. [2024-10-15 00:14:28,074 INFO L332 stractBuchiCegarLoop]: ======== Iteration 20 ============ [2024-10-15 00:14:28,074 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 726 states and 897 transitions. [2024-10-15 00:14:28,076 INFO L131 ngComponentsAnalysis]: Automaton has 8 accepting balls. 560 [2024-10-15 00:14:28,077 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-15 00:14:28,077 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-15 00:14:28,077 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [8, 8, 7, 5, 3, 1, 1, 1, 1, 1] [2024-10-15 00:14:28,077 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [9, 9, 8, 7, 2, 1, 1, 1, 1, 1, 1] [2024-10-15 00:14:28,077 INFO L745 eck$LassoCheckResult]: Stem: 15299#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 15300#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; 15301#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; 15302#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); 15363#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 15361#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; 15359#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 15360#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; 15355#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 15356#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; 15609#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 15608#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; 15607#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 15606#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 15605#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 15604#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; 15603#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 15602#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 15601#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 15600#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; 15599#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 15598#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 15597#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 15596#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; 15595#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 15594#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 15593#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 15592#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; 15591#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 15588#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; 15587#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 15537#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; 15534#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 15533#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 15530#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 15524#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; 15496#strrchr_returnLabel#1 [2024-10-15 00:14:28,077 INFO L747 eck$LassoCheckResult]: Loop: 15496#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; 15494#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); 15492#L519 assume 0 == basename_#t~mem6#1;havoc basename_#t~mem6#1; 15490#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); 15488#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); 15486#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 15483#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; 15479#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 15480#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; 15471#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 15472#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; 15586#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 15585#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; 15584#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 15583#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; 15582#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 15581#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; 15580#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 15579#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; 15578#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 15577#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; 15576#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 15575#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; 15574#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 15572#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; 15571#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 15570#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; 15568#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 15566#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; 15562#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 15559#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 15557#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 15555#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; 15552#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 15549#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; 15547#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 15545#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; 15543#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 15540#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 15539#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 15525#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; 15496#strrchr_returnLabel#1 [2024-10-15 00:14:28,077 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:14:28,078 INFO L85 PathProgramCache]: Analyzing trace with hash 930090669, now seen corresponding path program 13 times [2024-10-15 00:14:28,078 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:14:28,078 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [285032387] [2024-10-15 00:14:28,078 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:14:28,078 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:14:28,088 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:14:28,088 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-15 00:14:28,093 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:14:28,096 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-15 00:14:28,096 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:14:28,097 INFO L85 PathProgramCache]: Analyzing trace with hash 179314504, now seen corresponding path program 14 times [2024-10-15 00:14:28,097 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:14:28,097 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [332725854] [2024-10-15 00:14:28,097 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:14:28,097 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:14:28,105 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:14:28,105 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-15 00:14:28,110 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:14:28,113 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-15 00:14:28,113 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:14:28,113 INFO L85 PathProgramCache]: Analyzing trace with hash 1915191836, now seen corresponding path program 14 times [2024-10-15 00:14:28,113 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:14:28,114 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1902845803] [2024-10-15 00:14:28,114 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:14:28,114 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:14:28,137 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-15 00:14:28,708 INFO L134 CoverageAnalysis]: Checked inductivity of 545 backedges. 121 proven. 420 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-10-15 00:14:28,708 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-15 00:14:28,709 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1902845803] [2024-10-15 00:14:28,709 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1902845803] provided 0 perfect and 1 imperfect interpolant sequences [2024-10-15 00:14:28,710 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2049244595] [2024-10-15 00:14:28,710 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-10-15 00:14:28,710 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-10-15 00:14:28,710 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:14:28,714 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-10-15 00:14:28,715 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-10-15 00:14:28,866 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2024-10-15 00:14:28,867 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2024-10-15 00:14:28,870 INFO L255 TraceCheckSpWp]: Trace formula consists of 459 conjuncts, 100 conjuncts are in the unsatisfiable core [2024-10-15 00:14:28,876 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-10-15 00:14:29,078 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-10-15 00:14:29,227 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-10-15 00:14:29,228 INFO L134 CoverageAnalysis]: Checked inductivity of 545 backedges. 121 proven. 418 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2024-10-15 00:14:29,228 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-10-15 00:14:29,305 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-10-15 00:14:29,624 INFO L134 CoverageAnalysis]: Checked inductivity of 545 backedges. 120 proven. 419 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2024-10-15 00:14:29,624 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2049244595] provided 0 perfect and 2 imperfect interpolant sequences [2024-10-15 00:14:29,625 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-10-15 00:14:29,625 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23, 23, 23] total 44 [2024-10-15 00:14:29,625 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1360311023] [2024-10-15 00:14:29,626 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-10-15 00:14:30,549 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-15 00:14:30,550 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 44 interpolants. [2024-10-15 00:14:30,550 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=135, Invalid=1757, Unknown=0, NotChecked=0, Total=1892 [2024-10-15 00:14:30,550 INFO L87 Difference]: Start difference. First operand 726 states and 897 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-10-15 00:14:31,276 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-15 00:14:31,276 INFO L93 Difference]: Finished difference Result 510 states and 613 transitions. [2024-10-15 00:14:31,276 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 510 states and 613 transitions. [2024-10-15 00:14:31,278 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 196 [2024-10-15 00:14:31,279 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 510 states to 366 states and 445 transitions. [2024-10-15 00:14:31,279 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 216 [2024-10-15 00:14:31,279 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 216 [2024-10-15 00:14:31,279 INFO L73 IsDeterministic]: Start isDeterministic. Operand 366 states and 445 transitions. [2024-10-15 00:14:31,279 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-10-15 00:14:31,279 INFO L218 hiAutomatonCegarLoop]: Abstraction has 366 states and 445 transitions. [2024-10-15 00:14:31,280 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 366 states and 445 transitions. [2024-10-15 00:14:31,283 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 366 to 302. [2024-10-15 00:14:31,283 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 302 states, 302 states have (on average 1.2350993377483444) internal successors, (373), 301 states have internal predecessors, (373), 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-10-15 00:14:31,283 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 302 states to 302 states and 373 transitions. [2024-10-15 00:14:31,284 INFO L240 hiAutomatonCegarLoop]: Abstraction has 302 states and 373 transitions. [2024-10-15 00:14:31,284 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2024-10-15 00:14:31,284 INFO L425 stractBuchiCegarLoop]: Abstraction has 302 states and 373 transitions. [2024-10-15 00:14:31,284 INFO L332 stractBuchiCegarLoop]: ======== Iteration 21 ============ [2024-10-15 00:14:31,284 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 302 states and 373 transitions. [2024-10-15 00:14:31,285 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 164 [2024-10-15 00:14:31,285 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-15 00:14:31,285 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-15 00:14:31,286 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [9, 9, 8, 6, 3, 1, 1, 1, 1, 1] [2024-10-15 00:14:31,288 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [9, 9, 8, 8, 1, 1, 1, 1, 1, 1, 1] [2024-10-15 00:14:31,288 INFO L745 eck$LassoCheckResult]: Stem: 17059#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 17060#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; 17061#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; 17062#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); 17154#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 17152#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; 17151#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 17150#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; 17148#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 17149#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; 17271#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 17331#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; 17330#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 17329#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 17328#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 17327#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; 17326#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 17325#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 17324#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 17323#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; 17322#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 17321#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 17320#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 17319#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; 17318#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 17317#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 17316#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 17315#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; 17314#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 17313#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 17241#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 17249#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; 17211#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 17212#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; 17196#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 17197#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; 17191#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 17192#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 17185#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 17186#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; 17228#strrchr_returnLabel#1 [2024-10-15 00:14:31,288 INFO L747 eck$LassoCheckResult]: Loop: 17228#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; 17227#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); 17226#L519 assume 0 == basename_#t~mem6#1;havoc basename_#t~mem6#1; 17225#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); 17224#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); 17223#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 17176#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; 17177#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 17067#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; 17068#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 17213#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; 17214#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 17349#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; 17348#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 17347#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; 17346#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 17345#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; 17344#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 17343#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; 17342#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 17341#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; 17340#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 17339#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; 17338#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 17337#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; 17336#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 17335#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; 17334#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 17333#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; 17332#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 17155#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; 17114#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 17111#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; 17108#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 17109#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; 17190#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 17204#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; 17205#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 17189#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 17183#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 17184#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; 17228#strrchr_returnLabel#1 [2024-10-15 00:14:31,288 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:14:31,288 INFO L85 PathProgramCache]: Analyzing trace with hash -1906426601, now seen corresponding path program 14 times [2024-10-15 00:14:31,289 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:14:31,289 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [461146589] [2024-10-15 00:14:31,289 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:14:31,289 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:14:31,314 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:14:31,314 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-15 00:14:31,319 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:14:31,321 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-15 00:14:31,321 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:14:31,322 INFO L85 PathProgramCache]: Analyzing trace with hash -521750074, now seen corresponding path program 15 times [2024-10-15 00:14:31,322 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:14:31,322 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2021581567] [2024-10-15 00:14:31,322 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:14:31,322 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:14:31,329 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:14:31,329 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-15 00:14:31,333 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:14:31,335 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-15 00:14:31,336 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:14:31,336 INFO L85 PathProgramCache]: Analyzing trace with hash 1420012912, now seen corresponding path program 15 times [2024-10-15 00:14:31,336 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:14:31,336 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2138362251] [2024-10-15 00:14:31,336 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:14:31,336 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:14:31,353 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-15 00:14:32,004 INFO L134 CoverageAnalysis]: Checked inductivity of 613 backedges. 99 proven. 512 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-10-15 00:14:32,004 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-15 00:14:32,004 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2138362251] [2024-10-15 00:14:32,004 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2138362251] provided 0 perfect and 1 imperfect interpolant sequences [2024-10-15 00:14:32,005 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2147313984] [2024-10-15 00:14:32,005 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2024-10-15 00:14:32,005 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-10-15 00:14:32,005 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:14:32,007 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-10-15 00:14:32,008 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-10-15 00:14:32,163 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 10 check-sat command(s) [2024-10-15 00:14:32,164 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2024-10-15 00:14:32,169 INFO L255 TraceCheckSpWp]: Trace formula consists of 482 conjuncts, 127 conjuncts are in the unsatisfiable core [2024-10-15 00:14:32,172 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-10-15 00:14:32,340 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-10-15 00:14:32,711 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-10-15 00:14:32,711 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 15 treesize of output 7 [2024-10-15 00:14:32,733 INFO L134 CoverageAnalysis]: Checked inductivity of 613 backedges. 99 proven. 510 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-10-15 00:14:32,733 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-10-15 00:14:32,970 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-10-15 00:14:32,970 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 39 treesize of output 27 [2024-10-15 00:14:33,507 INFO L134 CoverageAnalysis]: Checked inductivity of 613 backedges. 109 proven. 500 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-10-15 00:14:33,507 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2147313984] provided 0 perfect and 2 imperfect interpolant sequences [2024-10-15 00:14:33,507 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-10-15 00:14:33,507 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [28, 27, 26] total 58 [2024-10-15 00:14:33,507 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [890069882] [2024-10-15 00:14:33,507 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-10-15 00:14:34,338 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-15 00:14:34,338 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 58 interpolants. [2024-10-15 00:14:34,339 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=201, Invalid=3105, Unknown=0, NotChecked=0, Total=3306 [2024-10-15 00:14:34,339 INFO L87 Difference]: Start difference. First operand 302 states and 373 transitions. cyclomatic complexity: 83 Second operand has 58 states, 58 states have (on average 2.8793103448275863) internal successors, (167), 58 states have internal predecessors, (167), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-10-15 00:14:36,986 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-15 00:14:36,986 INFO L93 Difference]: Finished difference Result 1270 states and 1541 transitions. [2024-10-15 00:14:36,987 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1270 states and 1541 transitions. [2024-10-15 00:14:36,989 INFO L131 ngComponentsAnalysis]: Automaton has 8 accepting balls. 952 [2024-10-15 00:14:36,993 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1270 states to 1270 states and 1541 transitions. [2024-10-15 00:14:36,993 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 1000 [2024-10-15 00:14:36,993 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 1000 [2024-10-15 00:14:36,993 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1270 states and 1541 transitions. [2024-10-15 00:14:36,994 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-10-15 00:14:36,994 INFO L218 hiAutomatonCegarLoop]: Abstraction has 1270 states and 1541 transitions. [2024-10-15 00:14:36,995 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1270 states and 1541 transitions. [2024-10-15 00:14:37,002 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1270 to 734. [2024-10-15 00:14:37,003 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 734 states, 734 states have (on average 1.2329700272479565) internal successors, (905), 733 states have internal predecessors, (905), 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-10-15 00:14:37,005 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 734 states to 734 states and 905 transitions. [2024-10-15 00:14:37,005 INFO L240 hiAutomatonCegarLoop]: Abstraction has 734 states and 905 transitions. [2024-10-15 00:14:37,005 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 68 states. [2024-10-15 00:14:37,005 INFO L425 stractBuchiCegarLoop]: Abstraction has 734 states and 905 transitions. [2024-10-15 00:14:37,006 INFO L332 stractBuchiCegarLoop]: ======== Iteration 22 ============ [2024-10-15 00:14:37,006 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 734 states and 905 transitions. [2024-10-15 00:14:37,007 INFO L131 ngComponentsAnalysis]: Automaton has 8 accepting balls. 552 [2024-10-15 00:14:37,007 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-15 00:14:37,007 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-15 00:14:37,007 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [9, 9, 8, 6, 3, 1, 1, 1, 1, 1] [2024-10-15 00:14:37,007 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [10, 10, 9, 8, 2, 1, 1, 1, 1, 1, 1] [2024-10-15 00:14:37,007 INFO L745 eck$LassoCheckResult]: Stem: 19280#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 19281#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; 19282#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; 19283#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); 19341#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19339#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; 19337#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19338#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; 19344#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19345#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; 19684#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19683#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; 19682#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19681#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 19680#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19679#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; 19678#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19675#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 19672#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19641#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; 19639#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19637#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 19635#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19633#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; 19631#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19629#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 19627#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19625#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; 19623#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19621#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 19619#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19617#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; 19615#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19611#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; 19588#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19577#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; 19573#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19571#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 19569#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19548#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; 19498#strrchr_returnLabel#1 [2024-10-15 00:14:37,008 INFO L747 eck$LassoCheckResult]: Loop: 19498#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; 19496#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); 19494#L519 assume 0 == basename_#t~mem6#1;havoc basename_#t~mem6#1; 19477#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); 19475#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); 19473#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19470#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; 19466#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19467#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; 19458#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19459#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; 19710#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19709#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; 19708#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19707#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; 19706#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19705#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; 19704#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19703#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; 19702#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19701#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; 19700#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19699#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; 19698#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19697#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; 19696#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19695#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; 19694#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19693#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; 19692#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19691#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; 19690#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19689#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; 19688#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19687#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 19686#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19603#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; 19585#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19575#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; 19572#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19570#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; 19568#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19562#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 19563#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 19549#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; 19498#strrchr_returnLabel#1 [2024-10-15 00:14:37,008 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:14:37,008 INFO L85 PathProgramCache]: Analyzing trace with hash -1906426601, now seen corresponding path program 15 times [2024-10-15 00:14:37,008 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:14:37,008 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1440050101] [2024-10-15 00:14:37,008 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:14:37,009 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:14:37,018 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:14:37,019 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-15 00:14:37,023 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:14:37,026 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-15 00:14:37,026 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:14:37,026 INFO L85 PathProgramCache]: Analyzing trace with hash -135810128, now seen corresponding path program 16 times [2024-10-15 00:14:37,026 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:14:37,027 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [386658415] [2024-10-15 00:14:37,027 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:14:37,027 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:14:37,034 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:14:37,034 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-15 00:14:37,038 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:14:37,041 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-15 00:14:37,041 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:14:37,041 INFO L85 PathProgramCache]: Analyzing trace with hash -1756446118, now seen corresponding path program 16 times [2024-10-15 00:14:37,041 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:14:37,041 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [243268563] [2024-10-15 00:14:37,041 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:14:37,041 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:14:37,056 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-15 00:14:37,604 INFO L134 CoverageAnalysis]: Checked inductivity of 685 backedges. 137 proven. 544 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-10-15 00:14:37,605 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-15 00:14:37,605 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [243268563] [2024-10-15 00:14:37,605 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [243268563] provided 0 perfect and 1 imperfect interpolant sequences [2024-10-15 00:14:37,605 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [861640227] [2024-10-15 00:14:37,605 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2024-10-15 00:14:37,605 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-10-15 00:14:37,605 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:14:37,607 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-10-15 00:14:37,608 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-10-15 00:14:37,753 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2024-10-15 00:14:37,753 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2024-10-15 00:14:37,756 INFO L255 TraceCheckSpWp]: Trace formula consists of 500 conjuncts, 95 conjuncts are in the unsatisfiable core [2024-10-15 00:14:37,758 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-10-15 00:14:38,039 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-10-15 00:14:38,105 INFO L134 CoverageAnalysis]: Checked inductivity of 685 backedges. 137 proven. 542 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2024-10-15 00:14:38,105 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-10-15 00:14:38,146 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-10-15 00:14:38,232 INFO L134 CoverageAnalysis]: Checked inductivity of 685 backedges. 137 proven. 542 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2024-10-15 00:14:38,232 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [861640227] provided 0 perfect and 2 imperfect interpolant sequences [2024-10-15 00:14:38,233 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-10-15 00:14:38,233 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [25, 23, 23] total 38 [2024-10-15 00:14:38,233 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2076259721] [2024-10-15 00:14:38,233 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-10-15 00:14:39,183 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-15 00:14:39,183 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 38 interpolants. [2024-10-15 00:14:39,183 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=101, Invalid=1305, Unknown=0, NotChecked=0, Total=1406 [2024-10-15 00:14:39,184 INFO L87 Difference]: Start difference. First operand 734 states and 905 transitions. cyclomatic complexity: 191 Second operand has 38 states, 38 states have (on average 3.3947368421052633) internal successors, (129), 38 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-10-15 00:14:39,985 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-15 00:14:39,985 INFO L93 Difference]: Finished difference Result 558 states and 673 transitions. [2024-10-15 00:14:39,985 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 558 states and 673 transitions. [2024-10-15 00:14:39,986 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 212 [2024-10-15 00:14:39,987 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 558 states to 398 states and 485 transitions. [2024-10-15 00:14:39,987 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 232 [2024-10-15 00:14:39,988 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 232 [2024-10-15 00:14:39,988 INFO L73 IsDeterministic]: Start isDeterministic. Operand 398 states and 485 transitions. [2024-10-15 00:14:39,988 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-10-15 00:14:39,988 INFO L218 hiAutomatonCegarLoop]: Abstraction has 398 states and 485 transitions. [2024-10-15 00:14:39,988 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 398 states and 485 transitions. [2024-10-15 00:14:39,991 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 398 to 334. [2024-10-15 00:14:39,991 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 334 states, 334 states have (on average 1.2365269461077844) internal successors, (413), 333 states have internal predecessors, (413), 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-10-15 00:14:39,992 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 334 states to 334 states and 413 transitions. [2024-10-15 00:14:39,992 INFO L240 hiAutomatonCegarLoop]: Abstraction has 334 states and 413 transitions. [2024-10-15 00:14:39,992 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 25 states. [2024-10-15 00:14:39,992 INFO L425 stractBuchiCegarLoop]: Abstraction has 334 states and 413 transitions. [2024-10-15 00:14:39,992 INFO L332 stractBuchiCegarLoop]: ======== Iteration 23 ============ [2024-10-15 00:14:39,992 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 334 states and 413 transitions. [2024-10-15 00:14:39,993 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 180 [2024-10-15 00:14:39,993 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-15 00:14:39,993 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-15 00:14:39,993 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [10, 10, 9, 7, 3, 1, 1, 1, 1, 1] [2024-10-15 00:14:39,994 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [10, 10, 9, 9, 1, 1, 1, 1, 1, 1, 1] [2024-10-15 00:14:39,994 INFO L745 eck$LassoCheckResult]: Stem: 21141#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 21142#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; 21143#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; 21144#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); 21215#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21213#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; 21214#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21209#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; 21210#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21130#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; 21131#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21417#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; 21416#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21415#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 21414#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21413#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; 21412#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21411#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 21410#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21409#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; 21408#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21407#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 21406#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21405#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; 21404#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21403#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 21402#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21401#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; 21400#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21399#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 21398#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21397#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; 21396#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21395#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 21306#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21320#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; 21319#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21305#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; 21304#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21302#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; 21159#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21160#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 21279#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21267#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; 21263#strrchr_returnLabel#1 [2024-10-15 00:14:39,994 INFO L747 eck$LassoCheckResult]: Loop: 21263#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; 21261#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); 21259#L519 assume 0 == basename_#t~mem6#1;havoc basename_#t~mem6#1; 21257#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); 21246#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); 21247#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21272#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; 21273#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21244#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; 21245#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21240#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; 21241#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21239#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; 21238#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21237#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; 21236#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21235#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; 21234#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21233#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; 21232#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21231#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; 21230#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21229#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; 21228#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21227#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; 21226#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21225#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; 21224#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21223#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; 21222#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21221#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; 21220#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21219#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; 21217#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21218#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; 21298#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21181#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; 21178#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21179#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; 21276#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21297#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; 21266#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21275#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 21271#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 21265#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; 21263#strrchr_returnLabel#1 [2024-10-15 00:14:39,994 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:14:39,994 INFO L85 PathProgramCache]: Analyzing trace with hash 1281042049, now seen corresponding path program 16 times [2024-10-15 00:14:39,994 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:14:39,994 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [596282828] [2024-10-15 00:14:39,994 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:14:39,995 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:14:40,005 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:14:40,006 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-15 00:14:40,011 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:14:40,014 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-15 00:14:40,014 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:14:40,014 INFO L85 PathProgramCache]: Analyzing trace with hash -836874706, now seen corresponding path program 17 times [2024-10-15 00:14:40,014 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:14:40,014 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [190409072] [2024-10-15 00:14:40,015 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:14:40,015 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:14:40,023 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:14:40,023 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-15 00:14:40,027 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:14:40,030 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-15 00:14:40,030 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:14:40,030 INFO L85 PathProgramCache]: Analyzing trace with hash -730875986, now seen corresponding path program 17 times [2024-10-15 00:14:40,030 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:14:40,030 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [596807202] [2024-10-15 00:14:40,031 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:14:40,031 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:14:40,046 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-15 00:14:40,786 INFO L134 CoverageAnalysis]: Checked inductivity of 761 backedges. 111 proven. 648 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-10-15 00:14:40,786 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-15 00:14:40,786 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [596807202] [2024-10-15 00:14:40,786 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [596807202] provided 0 perfect and 1 imperfect interpolant sequences [2024-10-15 00:14:40,786 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [165285580] [2024-10-15 00:14:40,786 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2024-10-15 00:14:40,786 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-10-15 00:14:40,786 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:14:40,788 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-10-15 00:14:40,789 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-10-15 00:14:40,931 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 11 check-sat command(s) [2024-10-15 00:14:40,931 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2024-10-15 00:14:40,935 INFO L255 TraceCheckSpWp]: Trace formula consists of 523 conjuncts, 131 conjuncts are in the unsatisfiable core [2024-10-15 00:14:40,938 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-10-15 00:14:41,076 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-10-15 00:14:41,488 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-10-15 00:14:41,488 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-10-15 00:14:41,511 INFO L134 CoverageAnalysis]: Checked inductivity of 761 backedges. 111 proven. 646 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-10-15 00:14:41,511 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-10-15 00:14:41,926 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2024-10-15 00:14:41,926 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-10-15 00:14:42,697 INFO L134 CoverageAnalysis]: Checked inductivity of 761 backedges. 115 proven. 642 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-10-15 00:14:42,697 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [165285580] provided 0 perfect and 2 imperfect interpolant sequences [2024-10-15 00:14:42,697 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-10-15 00:14:42,697 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [30, 31, 30] total 69 [2024-10-15 00:14:42,697 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1096739345] [2024-10-15 00:14:42,697 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-10-15 00:14:43,621 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-15 00:14:43,621 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 69 interpolants. [2024-10-15 00:14:43,622 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=255, Invalid=4437, Unknown=0, NotChecked=0, Total=4692 [2024-10-15 00:14:43,622 INFO L87 Difference]: Start difference. First operand 334 states and 413 transitions. cyclomatic complexity: 91 Second operand has 69 states, 69 states have (on average 2.898550724637681) internal successors, (200), 69 states have internal predecessors, (200), 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-10-15 00:14:49,992 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-15 00:14:49,992 INFO L93 Difference]: Finished difference Result 1582 states and 1939 transitions. [2024-10-15 00:14:49,992 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1582 states and 1939 transitions. [2024-10-15 00:14:49,996 INFO L131 ngComponentsAnalysis]: Automaton has 8 accepting balls. 1232 [2024-10-15 00:14:50,001 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1582 states to 1582 states and 1939 transitions. [2024-10-15 00:14:50,001 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 1280 [2024-10-15 00:14:50,002 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 1280 [2024-10-15 00:14:50,002 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1582 states and 1939 transitions. [2024-10-15 00:14:50,002 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2024-10-15 00:14:50,002 INFO L218 hiAutomatonCegarLoop]: Abstraction has 1582 states and 1939 transitions. [2024-10-15 00:14:50,003 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1582 states and 1939 transitions. [2024-10-15 00:14:50,013 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1582 to 906. [2024-10-15 00:14:50,014 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 906 states, 906 states have (on average 1.239514348785872) internal successors, (1123), 905 states have internal predecessors, (1123), 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-10-15 00:14:50,015 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 906 states to 906 states and 1123 transitions. [2024-10-15 00:14:50,015 INFO L240 hiAutomatonCegarLoop]: Abstraction has 906 states and 1123 transitions. [2024-10-15 00:14:50,019 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 135 states. [2024-10-15 00:14:50,020 INFO L425 stractBuchiCegarLoop]: Abstraction has 906 states and 1123 transitions. [2024-10-15 00:14:50,020 INFO L332 stractBuchiCegarLoop]: ======== Iteration 24 ============ [2024-10-15 00:14:50,020 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 906 states and 1123 transitions. [2024-10-15 00:14:50,022 INFO L131 ngComponentsAnalysis]: Automaton has 8 accepting balls. 708 [2024-10-15 00:14:50,022 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-15 00:14:50,022 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-15 00:14:50,022 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [10, 10, 9, 7, 3, 1, 1, 1, 1, 1] [2024-10-15 00:14:50,022 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [11, 11, 10, 9, 2, 1, 1, 1, 1, 1, 1] [2024-10-15 00:14:50,023 INFO L745 eck$LassoCheckResult]: Stem: 23896#$Ultimate##0 assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; 23897#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; 23898#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; 23899#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); 23963#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 23961#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; 23962#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 23968#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; 23969#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 23964#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; 23965#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 24496#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; 24495#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 24494#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 24492#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 24490#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; 24488#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 24486#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 24484#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 24482#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; 24480#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 24477#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 24461#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 24458#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; 24436#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 24434#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 24432#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 24430#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; 24428#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 24426#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 24417#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 24413#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; 24409#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 24406#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 24403#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 24400#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; 24397#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 23923#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; 23924#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 24188#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; 24304#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 24305#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 24587#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 24579#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; 24307#strrchr_returnLabel#1 [2024-10-15 00:14:50,023 INFO L747 eck$LassoCheckResult]: Loop: 24307#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; 24566#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); 24564#L519 assume 0 == basename_#t~mem6#1;havoc basename_#t~mem6#1; 24117#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); 24114#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); 24110#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 24111#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; 24556#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 24576#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; 24575#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 24574#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; 24572#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 24573#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; 24568#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 24569#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; 24658#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 24657#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; 24656#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 24655#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; 24654#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 24653#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; 24652#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 24651#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; 24650#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 24649#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; 24648#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 24647#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; 24646#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 24645#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; 24644#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 24643#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; 24642#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 24641#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; 24640#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 24639#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; 24638#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 24617#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; 24615#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 24614#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 24613#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 24612#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; 24611#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 24603#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; 24601#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 24600#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; 24596#L510-1 call strrchr_#t~mem2#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 24593#L511 assume !(strrchr_#t~mem2#1 == strrchr_~ch~0#1);havoc strrchr_#t~mem2#1; 24591#L511-2 call strrchr_#t~mem3#1 := read~int#0(strrchr_~t#1.base, strrchr_~t#1.offset, 1); 24584#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; 24307#strrchr_returnLabel#1 [2024-10-15 00:14:50,023 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:14:50,023 INFO L85 PathProgramCache]: Analyzing trace with hash 1281042049, now seen corresponding path program 17 times [2024-10-15 00:14:50,023 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:14:50,023 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1889349035] [2024-10-15 00:14:50,023 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:14:50,024 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:14:50,033 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:14:50,033 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-15 00:14:50,040 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:14:50,044 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-15 00:14:50,044 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:14:50,045 INFO L85 PathProgramCache]: Analyzing trace with hash -1662069736, now seen corresponding path program 18 times [2024-10-15 00:14:50,045 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:14:50,045 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1915287083] [2024-10-15 00:14:50,045 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:14:50,045 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:14:50,054 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:14:50,054 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-15 00:14:50,061 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-15 00:14:50,064 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-15 00:14:50,065 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-15 00:14:50,065 INFO L85 PathProgramCache]: Analyzing trace with hash -512787048, now seen corresponding path program 18 times [2024-10-15 00:14:50,065 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-15 00:14:50,065 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1232990335] [2024-10-15 00:14:50,065 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-15 00:14:50,065 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-15 00:14:50,082 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-15 00:14:50,673 INFO L134 CoverageAnalysis]: Checked inductivity of 841 backedges. 153 proven. 684 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-10-15 00:14:50,674 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-15 00:14:50,674 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1232990335] [2024-10-15 00:14:50,674 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1232990335] provided 0 perfect and 1 imperfect interpolant sequences [2024-10-15 00:14:50,674 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1823351705] [2024-10-15 00:14:50,674 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2024-10-15 00:14:50,674 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-10-15 00:14:50,674 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-10-15 00:14:50,675 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-10-15 00:14:50,676 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-10-15 00:14:50,846 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 11 check-sat command(s) [2024-10-15 00:14:50,847 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2024-10-15 00:14:50,850 INFO L255 TraceCheckSpWp]: Trace formula consists of 541 conjuncts, 139 conjuncts are in the unsatisfiable core [2024-10-15 00:14:50,852 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-10-15 00:14:51,044 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-10-15 00:14:51,489 INFO L134 CoverageAnalysis]: Checked inductivity of 841 backedges. 117 proven. 720 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-10-15 00:14:51,489 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-10-15 00:14:52,251 INFO L349 Elim1Store]: treesize reduction 31, result has 48.3 percent of original size [2024-10-15 00:14:52,251 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 0 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 6 case distinctions, treesize of input 176 treesize of output 164 [2024-10-15 00:14:52,937 INFO L134 CoverageAnalysis]: Checked inductivity of 841 backedges. 29 proven. 810 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-10-15 00:14:52,937 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1823351705] provided 0 perfect and 2 imperfect interpolant sequences [2024-10-15 00:14:52,937 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-10-15 00:14:52,937 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [27, 32, 33] total 76 [2024-10-15 00:14:52,937 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [218594651] [2024-10-15 00:14:52,937 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-10-15 00:14:53,980 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-15 00:14:53,981 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 76 interpolants. [2024-10-15 00:14:53,981 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=255, Invalid=5445, Unknown=0, NotChecked=0, Total=5700 [2024-10-15 00:14:53,982 INFO L87 Difference]: Start difference. First operand 906 states and 1123 transitions. cyclomatic complexity: 237 Second operand has 76 states, 76 states have (on average 2.960526315789474) internal successors, (225), 76 states have internal predecessors, (225), 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)