./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/list-simple/sll2c_prepend_unequal.i --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version c00e63dc Calling Ultimate with: /root/.sdkman/candidates/java/21.0.5-tem/bin/java -Dosgi.configuration.area=/storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.6.800.v20240513-1750.jar -data @noDefault -ultimatedata /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/list-simple/sll2c_prepend_unequal.i -s /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(reach_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash f2f6ef7968fa573a7da88ae0a516f1d800f437d82b0fa75227e8d7d318952eb1 --- Real Ultimate output --- This is Ultimate 0.3.0-?-c00e63d-m [2025-02-05 14:40:39,326 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-02-05 14:40:39,378 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2025-02-05 14:40:39,382 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-02-05 14:40:39,382 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-02-05 14:40:39,400 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-02-05 14:40:39,400 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-02-05 14:40:39,400 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-02-05 14:40:39,401 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2025-02-05 14:40:39,401 INFO L153 SettingsManager]: * Use memory slicer=true [2025-02-05 14:40:39,401 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2025-02-05 14:40:39,401 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2025-02-05 14:40:39,401 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-02-05 14:40:39,401 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-02-05 14:40:39,401 INFO L153 SettingsManager]: * Use SBE=true [2025-02-05 14:40:39,401 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-02-05 14:40:39,401 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2025-02-05 14:40:39,401 INFO L153 SettingsManager]: * sizeof long=4 [2025-02-05 14:40:39,402 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2025-02-05 14:40:39,402 INFO L153 SettingsManager]: * sizeof POINTER=4 [2025-02-05 14:40:39,402 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-02-05 14:40:39,402 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2025-02-05 14:40:39,402 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2025-02-05 14:40:39,402 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2025-02-05 14:40:39,402 INFO L153 SettingsManager]: * sizeof long double=12 [2025-02-05 14:40:39,402 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-02-05 14:40:39,402 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-02-05 14:40:39,402 INFO L153 SettingsManager]: * Use constant arrays=true [2025-02-05 14:40:39,402 INFO L151 SettingsManager]: Preferences of IcfgBuilder differ from their defaults: [2025-02-05 14:40:39,402 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-02-05 14:40:39,403 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-02-05 14:40:39,403 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-02-05 14:40:39,403 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-02-05 14:40:39,403 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-02-05 14:40:39,403 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2025-02-05 14:40:39,403 INFO L153 SettingsManager]: * Compute procedure contracts=false [2025-02-05 14:40:39,403 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2025-02-05 14:40:39,403 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2025-02-05 14:40:39,403 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2025-02-05 14:40:39,403 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2025-02-05 14:40:39,403 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2025-02-05 14:40:39,403 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2025-02-05 14:40:39,403 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2025-02-05 14:40:39,403 INFO L153 SettingsManager]: * Looper check in Petri net analysis=SEMANTIC 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-jdk21/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(G ! call(reach_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> f2f6ef7968fa573a7da88ae0a516f1d800f437d82b0fa75227e8d7d318952eb1 [2025-02-05 14:40:39,684 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-02-05 14:40:39,692 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-02-05 14:40:39,694 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-02-05 14:40:39,695 INFO L270 PluginConnector]: Initializing CDTParser... [2025-02-05 14:40:39,695 INFO L274 PluginConnector]: CDTParser initialized [2025-02-05 14:40:39,696 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/list-simple/sll2c_prepend_unequal.i [2025-02-05 14:40:40,898 INFO L533 CDTParser]: Created temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/85da09620/c261e3c08f46428792ba9262a069bdee/FLAG6cfa7c73b [2025-02-05 14:40:41,308 INFO L384 CDTParser]: Found 1 translation units. [2025-02-05 14:40:41,308 INFO L180 CDTParser]: Scanning /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/list-simple/sll2c_prepend_unequal.i [2025-02-05 14:40:41,332 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/85da09620/c261e3c08f46428792ba9262a069bdee/FLAG6cfa7c73b [2025-02-05 14:40:41,347 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/85da09620/c261e3c08f46428792ba9262a069bdee [2025-02-05 14:40:41,349 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-02-05 14:40:41,351 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2025-02-05 14:40:41,352 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-02-05 14:40:41,353 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-02-05 14:40:41,356 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-02-05 14:40:41,356 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 05.02 02:40:41" (1/1) ... [2025-02-05 14:40:41,357 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@2be0aefe and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 05.02 02:40:41, skipping insertion in model container [2025-02-05 14:40:41,357 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 05.02 02:40:41" (1/1) ... [2025-02-05 14:40:41,382 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-02-05 14:40:41,705 WARN L250 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/list-simple/sll2c_prepend_unequal.i[24547,24560] [2025-02-05 14:40:41,712 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-02-05 14:40:41,722 INFO L200 MainTranslator]: Completed pre-run [2025-02-05 14:40:41,759 WARN L250 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/list-simple/sll2c_prepend_unequal.i[24547,24560] [2025-02-05 14:40:41,759 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-02-05 14:40:41,780 INFO L204 MainTranslator]: Completed translation [2025-02-05 14:40:41,781 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 05.02 02:40:41 WrapperNode [2025-02-05 14:40:41,781 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-02-05 14:40:41,782 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-02-05 14:40:41,782 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-02-05 14:40:41,783 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-02-05 14:40:41,788 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 05.02 02:40:41" (1/1) ... [2025-02-05 14:40:41,800 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 05.02 02:40:41" (1/1) ... [2025-02-05 14:40:41,821 INFO L138 Inliner]: procedures = 127, calls = 45, calls flagged for inlining = 6, calls inlined = 6, statements flattened = 141 [2025-02-05 14:40:41,823 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-02-05 14:40:41,824 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-02-05 14:40:41,824 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-02-05 14:40:41,824 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-02-05 14:40:41,833 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 05.02 02:40:41" (1/1) ... [2025-02-05 14:40:41,834 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 05.02 02:40:41" (1/1) ... [2025-02-05 14:40:41,843 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 05.02 02:40:41" (1/1) ... [2025-02-05 14:40:41,867 INFO L175 MemorySlicer]: Split 27 memory accesses to 3 slices as follows [2, 15, 10]. 56 percent of accesses are in the largest equivalence class. The 3 initializations are split as follows [2, 0, 1]. The 9 writes are split as follows [0, 7, 2]. [2025-02-05 14:40:41,868 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 05.02 02:40:41" (1/1) ... [2025-02-05 14:40:41,868 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 05.02 02:40:41" (1/1) ... [2025-02-05 14:40:41,874 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 05.02 02:40:41" (1/1) ... [2025-02-05 14:40:41,875 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 05.02 02:40:41" (1/1) ... [2025-02-05 14:40:41,880 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 05.02 02:40:41" (1/1) ... [2025-02-05 14:40:41,881 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 05.02 02:40:41" (1/1) ... [2025-02-05 14:40:41,883 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-02-05 14:40:41,883 INFO L112 PluginConnector]: ------------------------IcfgBuilder---------------------------- [2025-02-05 14:40:41,883 INFO L270 PluginConnector]: Initializing IcfgBuilder... [2025-02-05 14:40:41,884 INFO L274 PluginConnector]: IcfgBuilder initialized [2025-02-05 14:40:41,884 INFO L184 PluginConnector]: Executing the observer IcfgBuilderObserver from plugin IcfgBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 05.02 02:40:41" (1/1) ... [2025-02-05 14:40:41,888 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-02-05 14:40:41,896 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-05 14:40:41,906 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (exit command is (exit), workingDir is null) [2025-02-05 14:40:41,909 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (1)] Waiting until timeout for monitored process [2025-02-05 14:40:41,927 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#0 [2025-02-05 14:40:41,927 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#1 [2025-02-05 14:40:41,927 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#2 [2025-02-05 14:40:41,927 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#0 [2025-02-05 14:40:41,927 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#1 [2025-02-05 14:40:41,927 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#2 [2025-02-05 14:40:41,927 INFO L130 BoogieDeclarations]: Found specification of procedure node_create [2025-02-05 14:40:41,927 INFO L138 BoogieDeclarations]: Found implementation of procedure node_create [2025-02-05 14:40:41,927 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2025-02-05 14:40:41,927 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2025-02-05 14:40:41,928 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2025-02-05 14:40:41,928 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$#0 [2025-02-05 14:40:41,928 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$#1 [2025-02-05 14:40:41,928 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$#2 [2025-02-05 14:40:41,928 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$#0 [2025-02-05 14:40:41,928 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$#1 [2025-02-05 14:40:41,928 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$#2 [2025-02-05 14:40:41,928 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2025-02-05 14:40:41,928 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~$Pointer$#0 [2025-02-05 14:40:41,928 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~$Pointer$#1 [2025-02-05 14:40:41,928 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~$Pointer$#2 [2025-02-05 14:40:41,928 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2025-02-05 14:40:41,928 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#1 [2025-02-05 14:40:41,928 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#2 [2025-02-05 14:40:41,928 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-02-05 14:40:41,928 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-02-05 14:40:42,037 INFO L257 CfgBuilder]: Building ICFG [2025-02-05 14:40:42,040 INFO L287 CfgBuilder]: Building CFG for each procedure with an implementation [2025-02-05 14:40:42,213 INFO L1309 $ProcedureCfgBuilder]: dead code at ProgramPoint L624: call ULTIMATE.dealloc(main_~#s~0#1.base, main_~#s~0#1.offset);havoc main_~#s~0#1.base, main_~#s~0#1.offset; [2025-02-05 14:40:42,239 INFO L1309 $ProcedureCfgBuilder]: dead code at ProgramPoint myexit_returnLabel#1: havoc myexit_~s#1;havoc myexit_#in~s#1;assume { :end_inline_myexit } true; [2025-02-05 14:40:42,254 INFO L? ?]: Removed 47 outVars from TransFormulas that were not future-live. [2025-02-05 14:40:42,256 INFO L308 CfgBuilder]: Performing block encoding [2025-02-05 14:40:42,263 INFO L332 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-02-05 14:40:42,264 INFO L337 CfgBuilder]: Removed 0 assume(true) statements. [2025-02-05 14:40:42,264 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 05.02 02:40:42 BoogieIcfgContainer [2025-02-05 14:40:42,265 INFO L131 PluginConnector]: ------------------------ END IcfgBuilder---------------------------- [2025-02-05 14:40:42,267 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2025-02-05 14:40:42,267 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2025-02-05 14:40:42,270 INFO L274 PluginConnector]: TraceAbstraction initialized [2025-02-05 14:40:42,270 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 05.02 02:40:41" (1/3) ... [2025-02-05 14:40:42,271 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@20df3335 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 05.02 02:40:42, skipping insertion in model container [2025-02-05 14:40:42,271 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 05.02 02:40:41" (2/3) ... [2025-02-05 14:40:42,271 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@20df3335 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 05.02 02:40:42, skipping insertion in model container [2025-02-05 14:40:42,272 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 05.02 02:40:42" (3/3) ... [2025-02-05 14:40:42,273 INFO L128 eAbstractionObserver]: Analyzing ICFG sll2c_prepend_unequal.i [2025-02-05 14:40:42,284 INFO L216 ceAbstractionStarter]: Automizer settings: Hoare:LoopHeads NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2025-02-05 14:40:42,285 INFO L151 ceAbstractionStarter]: Applying trace abstraction to ICFG sll2c_prepend_unequal.i that has 2 procedures, 34 locations, 1 initial locations, 4 loop locations, and 1 error locations. [2025-02-05 14:40:42,323 INFO L332 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2025-02-05 14:40:42,330 INFO L333 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mAutomataTypeConcurrency=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopHeads, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=[Lde.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings;@2d800778, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2025-02-05 14:40:42,331 INFO L334 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2025-02-05 14:40:42,335 INFO L276 IsEmpty]: Start isEmpty. Operand has 34 states, 28 states have (on average 1.4642857142857142) internal successors, (41), 29 states have internal predecessors, (41), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2025-02-05 14:40:42,339 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2025-02-05 14:40:42,339 INFO L210 NwaCegarLoop]: Found error trace [2025-02-05 14:40:42,340 INFO L218 NwaCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-02-05 14:40:42,340 INFO L396 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-02-05 14:40:42,343 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-05 14:40:42,344 INFO L85 PathProgramCache]: Analyzing trace with hash 613990978, now seen corresponding path program 1 times [2025-02-05 14:40:42,348 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-05 14:40:42,349 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [175927489] [2025-02-05 14:40:42,349 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-05 14:40:42,349 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-05 14:40:42,434 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 22 statements into 1 equivalence classes. [2025-02-05 14:40:42,465 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 22 of 22 statements. [2025-02-05 14:40:42,466 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-05 14:40:42,466 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-05 14:40:42,788 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2025-02-05 14:40:42,789 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-02-05 14:40:42,789 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [175927489] [2025-02-05 14:40:42,789 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [175927489] provided 1 perfect and 0 imperfect interpolant sequences [2025-02-05 14:40:42,789 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-02-05 14:40:42,790 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2025-02-05 14:40:42,791 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1560322705] [2025-02-05 14:40:42,791 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-02-05 14:40:42,797 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2025-02-05 14:40:42,797 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-02-05 14:40:42,808 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2025-02-05 14:40:42,809 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2025-02-05 14:40:42,810 INFO L87 Difference]: Start difference. First operand has 34 states, 28 states have (on average 1.4642857142857142) internal successors, (41), 29 states have internal predecessors, (41), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand has 3 states, 3 states have (on average 4.666666666666667) internal successors, (14), 3 states have internal predecessors, (14), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2025-02-05 14:40:42,831 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-02-05 14:40:42,831 INFO L93 Difference]: Finished difference Result 64 states and 89 transitions. [2025-02-05 14:40:42,832 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2025-02-05 14:40:42,833 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.666666666666667) internal successors, (14), 3 states have internal predecessors, (14), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 22 [2025-02-05 14:40:42,834 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2025-02-05 14:40:42,840 INFO L225 Difference]: With dead ends: 64 [2025-02-05 14:40:42,840 INFO L226 Difference]: Without dead ends: 30 [2025-02-05 14:40:42,842 INFO L434 NwaCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2025-02-05 14:40:42,844 INFO L435 NwaCegarLoop]: 42 mSDtfsCounter, 1 mSDsluCounter, 37 mSDsCounter, 0 mSdLazyCounter, 6 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 2 SdHoareTripleChecker+Valid, 79 SdHoareTripleChecker+Invalid, 6 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 6 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2025-02-05 14:40:42,844 INFO L436 NwaCegarLoop]: SdHoareTripleChecker [2 Valid, 79 Invalid, 6 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 6 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2025-02-05 14:40:42,853 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 30 states. [2025-02-05 14:40:42,862 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 30 to 28. [2025-02-05 14:40:42,863 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 23 states have internal predecessors, (29), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2025-02-05 14:40:42,866 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 35 transitions. [2025-02-05 14:40:42,867 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 35 transitions. Word has length 22 [2025-02-05 14:40:42,868 INFO L84 Accepts]: Finished accepts. word is rejected. [2025-02-05 14:40:42,868 INFO L471 AbstractCegarLoop]: Abstraction has 28 states and 35 transitions. [2025-02-05 14:40:42,868 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.666666666666667) internal successors, (14), 3 states have internal predecessors, (14), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2025-02-05 14:40:42,868 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 35 transitions. [2025-02-05 14:40:42,870 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2025-02-05 14:40:42,871 INFO L210 NwaCegarLoop]: Found error trace [2025-02-05 14:40:42,871 INFO L218 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-02-05 14:40:42,871 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2025-02-05 14:40:42,871 INFO L396 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-02-05 14:40:42,872 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-05 14:40:42,872 INFO L85 PathProgramCache]: Analyzing trace with hash 1599759040, now seen corresponding path program 1 times [2025-02-05 14:40:42,872 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-05 14:40:42,873 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1038944221] [2025-02-05 14:40:42,873 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-05 14:40:42,873 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-05 14:40:42,905 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 30 statements into 1 equivalence classes. [2025-02-05 14:40:42,924 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 30 of 30 statements. [2025-02-05 14:40:42,924 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-05 14:40:42,924 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-05 14:40:43,373 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 5 proven. 4 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2025-02-05 14:40:43,373 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-02-05 14:40:43,373 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1038944221] [2025-02-05 14:40:43,373 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1038944221] provided 0 perfect and 1 imperfect interpolant sequences [2025-02-05 14:40:43,374 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2054311947] [2025-02-05 14:40:43,374 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-05 14:40:43,374 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-02-05 14:40:43,374 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-05 14:40:43,376 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-02-05 14:40:43,379 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2025-02-05 14:40:43,467 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 30 statements into 1 equivalence classes. [2025-02-05 14:40:43,518 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 30 of 30 statements. [2025-02-05 14:40:43,518 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-05 14:40:43,518 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-05 14:40:43,520 INFO L256 TraceCheckSpWp]: Trace formula consists of 315 conjuncts, 23 conjuncts are in the unsatisfiable core [2025-02-05 14:40:43,525 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-02-05 14:40:43,673 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 [2025-02-05 14:40:43,690 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 11 proven. 4 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2025-02-05 14:40:43,690 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-02-05 14:40:43,752 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 5 proven. 4 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2025-02-05 14:40:43,752 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2054311947] provided 0 perfect and 2 imperfect interpolant sequences [2025-02-05 14:40:43,752 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-02-05 14:40:43,753 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 10, 9] total 12 [2025-02-05 14:40:43,753 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1609217854] [2025-02-05 14:40:43,753 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-02-05 14:40:43,754 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2025-02-05 14:40:43,754 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-02-05 14:40:43,754 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2025-02-05 14:40:43,755 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=25, Invalid=107, Unknown=0, NotChecked=0, Total=132 [2025-02-05 14:40:43,755 INFO L87 Difference]: Start difference. First operand 28 states and 35 transitions. Second operand has 12 states, 12 states have (on average 2.25) internal successors, (27), 11 states have internal predecessors, (27), 3 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2025-02-05 14:40:47,795 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 4.01s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [0] [2025-02-05 14:40:51,815 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 4.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [0] [2025-02-05 14:40:55,828 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 4.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [0] [2025-02-05 14:40:59,934 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 4.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [0] [2025-02-05 14:41:03,998 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 4.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [0] [2025-02-05 14:41:04,004 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-02-05 14:41:04,004 INFO L93 Difference]: Finished difference Result 43 states and 52 transitions. [2025-02-05 14:41:04,005 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2025-02-05 14:41:04,005 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.25) internal successors, (27), 11 states have internal predecessors, (27), 3 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) Word has length 30 [2025-02-05 14:41:04,005 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2025-02-05 14:41:04,006 INFO L225 Difference]: With dead ends: 43 [2025-02-05 14:41:04,006 INFO L226 Difference]: Without dead ends: 35 [2025-02-05 14:41:04,006 INFO L434 NwaCegarLoop]: 0 DeclaredPredicates, 71 GetRequests, 56 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=44, Invalid=196, Unknown=0, NotChecked=0, Total=240 [2025-02-05 14:41:04,008 INFO L435 NwaCegarLoop]: 28 mSDtfsCounter, 11 mSDsluCounter, 224 mSDsCounter, 0 mSdLazyCounter, 117 mSolverCounterSat, 0 mSolverCounterUnsat, 5 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 20.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 252 SdHoareTripleChecker+Invalid, 122 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 117 IncrementalHoareTripleChecker+Invalid, 5 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 20.2s IncrementalHoareTripleChecker+Time [2025-02-05 14:41:04,009 INFO L436 NwaCegarLoop]: SdHoareTripleChecker [12 Valid, 252 Invalid, 122 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 117 Invalid, 5 Unknown, 0 Unchecked, 20.2s Time] [2025-02-05 14:41:04,009 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2025-02-05 14:41:04,012 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 33. [2025-02-05 14:41:04,014 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 27 states have (on average 1.1851851851851851) internal successors, (32), 27 states have internal predecessors, (32), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2025-02-05 14:41:04,014 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 38 transitions. [2025-02-05 14:41:04,014 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 38 transitions. Word has length 30 [2025-02-05 14:41:04,015 INFO L84 Accepts]: Finished accepts. word is rejected. [2025-02-05 14:41:04,015 INFO L471 AbstractCegarLoop]: Abstraction has 33 states and 38 transitions. [2025-02-05 14:41:04,015 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 2.25) internal successors, (27), 11 states have internal predecessors, (27), 3 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2025-02-05 14:41:04,015 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 38 transitions. [2025-02-05 14:41:04,016 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2025-02-05 14:41:04,016 INFO L210 NwaCegarLoop]: Found error trace [2025-02-05 14:41:04,016 INFO L218 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-02-05 14:41:04,023 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2025-02-05 14:41:04,219 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-02-05 14:41:04,219 INFO L396 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-02-05 14:41:04,219 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-05 14:41:04,220 INFO L85 PathProgramCache]: Analyzing trace with hash 183195124, now seen corresponding path program 1 times [2025-02-05 14:41:04,220 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-05 14:41:04,220 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [968722625] [2025-02-05 14:41:04,220 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-05 14:41:04,220 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-05 14:41:04,257 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 33 statements into 1 equivalence classes. [2025-02-05 14:41:04,294 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 33 of 33 statements. [2025-02-05 14:41:04,294 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-05 14:41:04,294 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-05 14:41:05,427 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 7 proven. 9 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-02-05 14:41:05,428 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-02-05 14:41:05,428 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [968722625] [2025-02-05 14:41:05,428 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [968722625] provided 0 perfect and 1 imperfect interpolant sequences [2025-02-05 14:41:05,429 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1699042494] [2025-02-05 14:41:05,429 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-05 14:41:05,429 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-02-05 14:41:05,429 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-05 14:41:05,431 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-02-05 14:41:05,432 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2025-02-05 14:41:05,513 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 33 statements into 1 equivalence classes. [2025-02-05 14:41:05,556 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 33 of 33 statements. [2025-02-05 14:41:05,557 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-05 14:41:05,557 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-05 14:41:05,563 INFO L256 TraceCheckSpWp]: Trace formula consists of 338 conjuncts, 77 conjuncts are in the unsatisfiable core [2025-02-05 14:41:05,566 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-02-05 14:41:05,578 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 6 treesize of output 5 [2025-02-05 14:41:05,736 INFO L349 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2025-02-05 14:41:05,737 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 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 11 treesize of output 11 [2025-02-05 14:41:05,774 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 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 [2025-02-05 14:41:05,893 INFO L349 Elim1Store]: treesize reduction 19, result has 20.8 percent of original size [2025-02-05 14:41:05,898 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 2 new quantified variables, introduced 1 case distinctions, treesize of input 25 treesize of output 26 [2025-02-05 14:41:06,056 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 [2025-02-05 14:41:06,233 INFO L349 Elim1Store]: treesize reduction 21, result has 47.5 percent of original size [2025-02-05 14:41:06,233 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 1 case distinctions, treesize of input 35 treesize of output 35 [2025-02-05 14:41:06,420 INFO L349 Elim1Store]: treesize reduction 11, result has 8.3 percent of original size [2025-02-05 14:41:06,421 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 15 treesize of output 7 [2025-02-05 14:41:06,588 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 63 treesize of output 39 [2025-02-05 14:41:06,607 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2025-02-05 14:41:06,607 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 32 treesize of output 24 [2025-02-05 14:41:06,642 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 2 proven. 14 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-02-05 14:41:06,643 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-02-05 14:41:06,949 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1699042494] provided 0 perfect and 1 imperfect interpolant sequences [2025-02-05 14:41:06,949 INFO L185 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2025-02-05 14:41:06,949 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 20] total 32 [2025-02-05 14:41:06,949 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [164402180] [2025-02-05 14:41:06,950 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2025-02-05 14:41:06,950 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 32 states [2025-02-05 14:41:06,950 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-02-05 14:41:06,951 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 32 interpolants. [2025-02-05 14:41:06,951 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=97, Invalid=1235, Unknown=0, NotChecked=0, Total=1332 [2025-02-05 14:41:06,951 INFO L87 Difference]: Start difference. First operand 33 states and 38 transitions. Second operand has 32 states, 30 states have (on average 1.4) internal successors, (42), 25 states have internal predecessors, (42), 4 states have call successors, (4), 4 states have call predecessors, (4), 5 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2025-02-05 14:41:08,082 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-02-05 14:41:08,083 INFO L93 Difference]: Finished difference Result 61 states and 73 transitions. [2025-02-05 14:41:08,083 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2025-02-05 14:41:08,083 INFO L78 Accepts]: Start accepts. Automaton has has 32 states, 30 states have (on average 1.4) internal successors, (42), 25 states have internal predecessors, (42), 4 states have call successors, (4), 4 states have call predecessors, (4), 5 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) Word has length 33 [2025-02-05 14:41:08,083 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2025-02-05 14:41:08,084 INFO L225 Difference]: With dead ends: 61 [2025-02-05 14:41:08,084 INFO L226 Difference]: Without dead ends: 52 [2025-02-05 14:41:08,085 INFO L434 NwaCegarLoop]: 0 DeclaredPredicates, 76 GetRequests, 26 SyntacticMatches, 1 SemanticMatches, 49 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 305 ImplicationChecksByTransitivity, 1.6s TimeCoverageRelationStatistics Valid=206, Invalid=2344, Unknown=0, NotChecked=0, Total=2550 [2025-02-05 14:41:08,085 INFO L435 NwaCegarLoop]: 22 mSDtfsCounter, 17 mSDsluCounter, 433 mSDsCounter, 0 mSdLazyCounter, 680 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 455 SdHoareTripleChecker+Invalid, 687 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 680 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2025-02-05 14:41:08,086 INFO L436 NwaCegarLoop]: SdHoareTripleChecker [17 Valid, 455 Invalid, 687 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 680 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2025-02-05 14:41:08,086 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2025-02-05 14:41:08,090 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 47. [2025-02-05 14:41:08,090 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 47 states, 38 states have (on average 1.1578947368421053) internal successors, (44), 38 states have internal predecessors, (44), 5 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2025-02-05 14:41:08,090 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 47 states to 47 states and 54 transitions. [2025-02-05 14:41:08,090 INFO L78 Accepts]: Start accepts. Automaton has 47 states and 54 transitions. Word has length 33 [2025-02-05 14:41:08,091 INFO L84 Accepts]: Finished accepts. word is rejected. [2025-02-05 14:41:08,091 INFO L471 AbstractCegarLoop]: Abstraction has 47 states and 54 transitions. [2025-02-05 14:41:08,091 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 32 states, 30 states have (on average 1.4) internal successors, (42), 25 states have internal predecessors, (42), 4 states have call successors, (4), 4 states have call predecessors, (4), 5 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2025-02-05 14:41:08,091 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 54 transitions. [2025-02-05 14:41:08,091 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2025-02-05 14:41:08,092 INFO L210 NwaCegarLoop]: Found error trace [2025-02-05 14:41:08,092 INFO L218 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-02-05 14:41:08,098 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2025-02-05 14:41:08,292 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2,3 /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-02-05 14:41:08,293 INFO L396 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-02-05 14:41:08,293 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-05 14:41:08,293 INFO L85 PathProgramCache]: Analyzing trace with hash 992296851, now seen corresponding path program 1 times [2025-02-05 14:41:08,293 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-05 14:41:08,293 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [99604356] [2025-02-05 14:41:08,293 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-05 14:41:08,293 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-05 14:41:08,312 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 35 statements into 1 equivalence classes. [2025-02-05 14:41:08,337 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 35 of 35 statements. [2025-02-05 14:41:08,338 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-05 14:41:08,338 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-05 14:41:09,726 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 7 proven. 11 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-02-05 14:41:09,727 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-02-05 14:41:09,727 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [99604356] [2025-02-05 14:41:09,727 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [99604356] provided 0 perfect and 1 imperfect interpolant sequences [2025-02-05 14:41:09,727 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1219149586] [2025-02-05 14:41:09,727 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-05 14:41:09,727 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-02-05 14:41:09,727 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-05 14:41:09,729 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-02-05 14:41:09,731 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2025-02-05 14:41:09,804 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 35 statements into 1 equivalence classes. [2025-02-05 14:41:09,840 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 35 of 35 statements. [2025-02-05 14:41:09,840 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-05 14:41:09,840 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-05 14:41:09,843 INFO L256 TraceCheckSpWp]: Trace formula consists of 351 conjuncts, 145 conjuncts are in the unsatisfiable core [2025-02-05 14:41:09,852 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-02-05 14:41:09,858 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 6 treesize of output 5 [2025-02-05 14:41:10,008 INFO L349 Elim1Store]: treesize reduction 18, result has 35.7 percent of original size [2025-02-05 14:41:10,009 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 17 treesize of output 21 [2025-02-05 14:41:10,055 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 2 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 [2025-02-05 14:41:10,109 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 2 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 [2025-02-05 14:41:10,116 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 11 [2025-02-05 14:41:10,258 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 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 11 treesize of output 7 [2025-02-05 14:41:10,263 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 7 [2025-02-05 14:41:10,266 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 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 11 treesize of output 3 [2025-02-05 14:41:10,441 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 [2025-02-05 14:41:10,543 INFO L349 Elim1Store]: treesize reduction 21, result has 44.7 percent of original size [2025-02-05 14:41:10,543 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 1 case distinctions, treesize of input 20 treesize of output 23 [2025-02-05 14:41:10,567 INFO L190 IndexEqualityManager]: detected not equals via solver [2025-02-05 14:41:10,568 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 22 [2025-02-05 14:41:10,574 INFO L190 IndexEqualityManager]: detected not equals via solver [2025-02-05 14:41:10,579 INFO L349 Elim1Store]: treesize reduction 4, result has 66.7 percent of original size [2025-02-05 14:41:10,580 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 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 1 case distinctions, treesize of input 20 treesize of output 18 [2025-02-05 14:41:10,946 INFO L173 IndexEqualityManager]: detected equality via solver [2025-02-05 14:41:10,947 INFO L173 IndexEqualityManager]: detected equality via solver [2025-02-05 14:41:10,947 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 7 [2025-02-05 14:41:11,100 INFO L349 Elim1Store]: treesize reduction 4, result has 84.0 percent of original size [2025-02-05 14:41:11,101 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 2 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 26 treesize of output 34 [2025-02-05 14:41:11,381 INFO L349 Elim1Store]: treesize reduction 20, result has 58.3 percent of original size [2025-02-05 14:41:11,381 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 44 treesize of output 44 [2025-02-05 14:41:11,397 INFO L349 Elim1Store]: treesize reduction 37, result has 15.9 percent of original size [2025-02-05 14:41:11,397 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 26 treesize of output 21 [2025-02-05 14:41:11,425 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 59 treesize of output 26 [2025-02-05 14:41:11,430 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 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 26 treesize of output 15 [2025-02-05 14:41:11,440 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 23 treesize of output 15 [2025-02-05 14:41:11,442 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 15 treesize of output 7 [2025-02-05 14:41:11,445 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 8 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-02-05 14:41:11,445 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-02-05 14:41:11,517 WARN L851 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_457 (Array Int Int)) (v_ArrVal_460 (Array Int Int))) (or (not (= v_ArrVal_460 (store (select |c_#memory_int#1| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.offset| (select v_ArrVal_460 |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.offset|)))) (= |c_ULTIMATE.start_main_~uneq~0#1| (select (select (store (store |c_#memory_int#1| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| v_ArrVal_460) |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base| v_ArrVal_457) (select (select (store |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| (store (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|)) |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|)) (+ (select (select (store |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| (store (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.offset|)) |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) 4))))) is different from false [2025-02-05 14:41:11,958 WARN L851 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_457 (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~last~1#1.base_16| Int) (v_ArrVal_460 (Array Int Int))) (let ((.cse1 (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|)) (.cse0 (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|))) (or (not (= v_ArrVal_460 (store (select |c_#memory_int#1| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.offset| (select v_ArrVal_460 |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.offset|)))) (= |c_ULTIMATE.start_main_~uneq~0#1| (select (select (store (store |c_#memory_int#1| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| v_ArrVal_460) |v_ULTIMATE.start_sll_circular_prepend_~last~1#1.base_16| v_ArrVal_457) (select (select (store |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| (store .cse0 |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|)) |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|)) (+ (select (select (store |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| (store .cse1 |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.offset|)) |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) 4))) (not (let ((.cse2 (select .cse0 |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|))) (= (select (select |c_#memory_$Pointer$#1.base| |v_ULTIMATE.start_sll_circular_prepend_~last~1#1.base_16|) (select (select |c_#memory_$Pointer$#1.offset| .cse2) (select .cse1 |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|))) .cse2)))))) is different from false [2025-02-05 14:41:11,987 WARN L851 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_457 (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~last~1#1.base_16| Int) (v_ArrVal_460 (Array Int Int))) (let ((.cse1 (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|)) (.cse0 (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|))) (or (not (= v_ArrVal_460 (store (select |c_#memory_int#1| |c_ULTIMATE.start_sll_circular_prepend_#t~ret9#1.base|) |c_ULTIMATE.start_sll_circular_prepend_#t~ret9#1.offset| (select v_ArrVal_460 |c_ULTIMATE.start_sll_circular_prepend_#t~ret9#1.offset|)))) (= |c_ULTIMATE.start_main_~uneq~0#1| (select (select (store (store |c_#memory_int#1| |c_ULTIMATE.start_sll_circular_prepend_#t~ret9#1.base| v_ArrVal_460) |v_ULTIMATE.start_sll_circular_prepend_~last~1#1.base_16| v_ArrVal_457) (select (select (store |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| (store .cse0 |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_sll_circular_prepend_#t~ret9#1.base|)) |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|)) (+ 4 (select (select (store |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| (store .cse1 |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_sll_circular_prepend_#t~ret9#1.offset|)) |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|)))) (not (let ((.cse2 (select .cse0 |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|))) (= (select (select |c_#memory_$Pointer$#1.base| |v_ULTIMATE.start_sll_circular_prepend_~last~1#1.base_16|) (select (select |c_#memory_$Pointer$#1.offset| .cse2) (select .cse1 |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|))) .cse2)))))) is different from false [2025-02-05 14:41:12,118 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2025-02-05 14:41:12,118 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 432 treesize of output 422 [2025-02-05 14:41:12,156 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 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 88 treesize of output 56 [2025-02-05 14:41:12,222 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2025-02-05 14:41:12,222 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 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 351 treesize of output 335 [2025-02-05 14:41:12,599 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1219149586] provided 0 perfect and 1 imperfect interpolant sequences [2025-02-05 14:41:12,599 INFO L185 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2025-02-05 14:41:12,599 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [24, 24] total 40 [2025-02-05 14:41:12,602 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1309618367] [2025-02-05 14:41:12,602 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2025-02-05 14:41:12,602 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 40 states [2025-02-05 14:41:12,602 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-02-05 14:41:12,603 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 40 interpolants. [2025-02-05 14:41:12,604 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=139, Invalid=1840, Unknown=13, NotChecked=264, Total=2256 [2025-02-05 14:41:12,604 INFO L87 Difference]: Start difference. First operand 47 states and 54 transitions. Second operand has 40 states, 38 states have (on average 1.2894736842105263) internal successors, (49), 32 states have internal predecessors, (49), 5 states have call successors, (5), 4 states have call predecessors, (5), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2025-02-05 14:41:14,426 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-02-05 14:41:14,426 INFO L93 Difference]: Finished difference Result 57 states and 66 transitions. [2025-02-05 14:41:14,427 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 25 states. [2025-02-05 14:41:14,427 INFO L78 Accepts]: Start accepts. Automaton has has 40 states, 38 states have (on average 1.2894736842105263) internal successors, (49), 32 states have internal predecessors, (49), 5 states have call successors, (5), 4 states have call predecessors, (5), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Word has length 35 [2025-02-05 14:41:14,427 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2025-02-05 14:41:14,427 INFO L225 Difference]: With dead ends: 57 [2025-02-05 14:41:14,427 INFO L226 Difference]: Without dead ends: 55 [2025-02-05 14:41:14,428 INFO L434 NwaCegarLoop]: 0 DeclaredPredicates, 84 GetRequests, 24 SyntacticMatches, 0 SemanticMatches, 60 ConstructedPredicates, 3 IntricatePredicates, 0 DeprecatedPredicates, 642 ImplicationChecksByTransitivity, 2.7s TimeCoverageRelationStatistics Valid=281, Invalid=3140, Unknown=13, NotChecked=348, Total=3782 [2025-02-05 14:41:14,429 INFO L435 NwaCegarLoop]: 18 mSDtfsCounter, 33 mSDsluCounter, 306 mSDsCounter, 0 mSdLazyCounter, 735 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 33 SdHoareTripleChecker+Valid, 324 SdHoareTripleChecker+Invalid, 740 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 735 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2025-02-05 14:41:14,429 INFO L436 NwaCegarLoop]: SdHoareTripleChecker [33 Valid, 324 Invalid, 740 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 735 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2025-02-05 14:41:14,429 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2025-02-05 14:41:14,435 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 54. [2025-02-05 14:41:14,435 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 54 states, 45 states have (on average 1.1777777777777778) internal successors, (53), 45 states have internal predecessors, (53), 5 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2025-02-05 14:41:14,436 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 63 transitions. [2025-02-05 14:41:14,436 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 63 transitions. Word has length 35 [2025-02-05 14:41:14,436 INFO L84 Accepts]: Finished accepts. word is rejected. [2025-02-05 14:41:14,436 INFO L471 AbstractCegarLoop]: Abstraction has 54 states and 63 transitions. [2025-02-05 14:41:14,436 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 40 states, 38 states have (on average 1.2894736842105263) internal successors, (49), 32 states have internal predecessors, (49), 5 states have call successors, (5), 4 states have call predecessors, (5), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2025-02-05 14:41:14,436 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 63 transitions. [2025-02-05 14:41:14,437 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2025-02-05 14:41:14,437 INFO L210 NwaCegarLoop]: Found error trace [2025-02-05 14:41:14,437 INFO L218 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-02-05 14:41:14,444 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2025-02-05 14:41:14,637 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-02-05 14:41:14,638 INFO L396 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-02-05 14:41:14,638 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-05 14:41:14,638 INFO L85 PathProgramCache]: Analyzing trace with hash 114612564, now seen corresponding path program 1 times [2025-02-05 14:41:14,638 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-05 14:41:14,638 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [847153449] [2025-02-05 14:41:14,638 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-05 14:41:14,638 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-05 14:41:14,652 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 37 statements into 1 equivalence classes. [2025-02-05 14:41:14,666 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 37 of 37 statements. [2025-02-05 14:41:14,667 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-05 14:41:14,667 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-05 14:41:16,140 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 7 proven. 11 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-02-05 14:41:16,140 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-02-05 14:41:16,140 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [847153449] [2025-02-05 14:41:16,140 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [847153449] provided 0 perfect and 1 imperfect interpolant sequences [2025-02-05 14:41:16,140 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [163686601] [2025-02-05 14:41:16,140 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-05 14:41:16,140 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-02-05 14:41:16,141 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-05 14:41:16,142 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-02-05 14:41:16,143 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2025-02-05 14:41:16,216 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 37 statements into 1 equivalence classes. [2025-02-05 14:41:16,253 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 37 of 37 statements. [2025-02-05 14:41:16,253 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-05 14:41:16,253 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-05 14:41:16,255 INFO L256 TraceCheckSpWp]: Trace formula consists of 361 conjuncts, 149 conjuncts are in the unsatisfiable core [2025-02-05 14:41:16,262 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-02-05 14:41:16,287 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 6 treesize of output 5 [2025-02-05 14:41:16,422 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 [2025-02-05 14:41:16,457 WARN L851 $PredicateComparison]: unable to prove that (and (= |c_ULTIMATE.start_sll_circular_create_#t~ret5#1.offset| 0) (= (select |c_#valid| |c_ULTIMATE.start_sll_circular_create_#t~ret5#1.base|) 1) (= |c_ULTIMATE.start_main_~data~0#1| 1) (exists ((|v_#valid_BEFORE_CALL_8| (Array Int Int))) (and (= (select |v_#valid_BEFORE_CALL_8| |c_ULTIMATE.start_sll_circular_create_~head~0#1.base|) 1) (= (select |v_#valid_BEFORE_CALL_8| |c_ULTIMATE.start_sll_circular_create_#t~ret5#1.base|) 0) (= |c_#valid| (let ((.cse0 (@diff |v_#valid_BEFORE_CALL_8| |c_#valid|))) (store |v_#valid_BEFORE_CALL_8| .cse0 (select |c_#valid| .cse0)))))) (= (select (select |c_#memory_int#1| |c_ULTIMATE.start_sll_circular_create_#t~ret5#1.base|) 4) 1) (= |c_ULTIMATE.start_sll_circular_create_~head~0#1.offset| 0) (= |c_ULTIMATE.start_sll_circular_create_~head~0#1.base| |c_ULTIMATE.start_sll_circular_create_~last~0#1.base|)) is different from false [2025-02-05 14:41:16,459 WARN L873 $PredicateComparison]: unable to prove that (and (= |c_ULTIMATE.start_sll_circular_create_#t~ret5#1.offset| 0) (= (select |c_#valid| |c_ULTIMATE.start_sll_circular_create_#t~ret5#1.base|) 1) (= |c_ULTIMATE.start_main_~data~0#1| 1) (exists ((|v_#valid_BEFORE_CALL_8| (Array Int Int))) (and (= (select |v_#valid_BEFORE_CALL_8| |c_ULTIMATE.start_sll_circular_create_~head~0#1.base|) 1) (= (select |v_#valid_BEFORE_CALL_8| |c_ULTIMATE.start_sll_circular_create_#t~ret5#1.base|) 0) (= |c_#valid| (let ((.cse0 (@diff |v_#valid_BEFORE_CALL_8| |c_#valid|))) (store |v_#valid_BEFORE_CALL_8| .cse0 (select |c_#valid| .cse0)))))) (= (select (select |c_#memory_int#1| |c_ULTIMATE.start_sll_circular_create_#t~ret5#1.base|) 4) 1) (= |c_ULTIMATE.start_sll_circular_create_~head~0#1.offset| 0) (= |c_ULTIMATE.start_sll_circular_create_~head~0#1.base| |c_ULTIMATE.start_sll_circular_create_~last~0#1.base|)) is different from true [2025-02-05 14:41:16,473 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 [2025-02-05 14:41:16,477 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 [2025-02-05 14:41:16,480 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 [2025-02-05 14:41:16,484 WARN L851 $PredicateComparison]: unable to prove that (and (= |c_ULTIMATE.start_sll_circular_create_~last~0#1.base| (select (select |c_#memory_$Pointer$#1.base| |c_ULTIMATE.start_sll_circular_create_~head~0#1.base|) 0)) (exists ((|v_#valid_BEFORE_CALL_8| (Array Int Int))) (and (= (select |v_#valid_BEFORE_CALL_8| |c_ULTIMATE.start_sll_circular_create_~head~0#1.base|) 0) (= |c_#valid| (let ((.cse0 (@diff |v_#valid_BEFORE_CALL_8| |c_#valid|))) (store |v_#valid_BEFORE_CALL_8| .cse0 (select |c_#valid| .cse0)))) (= (select |v_#valid_BEFORE_CALL_8| |c_ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1))) (= (select (select |c_#memory_int#1| |c_ULTIMATE.start_sll_circular_create_~head~0#1.base|) 4) 1) (= (select (select |c_#memory_$Pointer$#1.offset| |c_ULTIMATE.start_sll_circular_create_~head~0#1.base|) 0) 0) (= |c_ULTIMATE.start_main_~data~0#1| 1) (= (select |c_#valid| |c_ULTIMATE.start_sll_circular_create_~head~0#1.base|) 1) (= |c_ULTIMATE.start_sll_circular_create_~head~0#1.offset| 0)) is different from false [2025-02-05 14:41:16,485 WARN L873 $PredicateComparison]: unable to prove that (and (= |c_ULTIMATE.start_sll_circular_create_~last~0#1.base| (select (select |c_#memory_$Pointer$#1.base| |c_ULTIMATE.start_sll_circular_create_~head~0#1.base|) 0)) (exists ((|v_#valid_BEFORE_CALL_8| (Array Int Int))) (and (= (select |v_#valid_BEFORE_CALL_8| |c_ULTIMATE.start_sll_circular_create_~head~0#1.base|) 0) (= |c_#valid| (let ((.cse0 (@diff |v_#valid_BEFORE_CALL_8| |c_#valid|))) (store |v_#valid_BEFORE_CALL_8| .cse0 (select |c_#valid| .cse0)))) (= (select |v_#valid_BEFORE_CALL_8| |c_ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1))) (= (select (select |c_#memory_int#1| |c_ULTIMATE.start_sll_circular_create_~head~0#1.base|) 4) 1) (= (select (select |c_#memory_$Pointer$#1.offset| |c_ULTIMATE.start_sll_circular_create_~head~0#1.base|) 0) 0) (= |c_ULTIMATE.start_main_~data~0#1| 1) (= (select |c_#valid| |c_ULTIMATE.start_sll_circular_create_~head~0#1.base|) 1) (= |c_ULTIMATE.start_sll_circular_create_~head~0#1.offset| 0)) is different from true [2025-02-05 14:41:16,503 INFO L349 Elim1Store]: treesize reduction 19, result has 20.8 percent of original size [2025-02-05 14:41:16,504 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 2 new quantified variables, introduced 1 case distinctions, treesize of input 58 treesize of output 51 [2025-02-05 14:41:16,512 INFO L349 Elim1Store]: treesize reduction 21, result has 38.2 percent of original size [2025-02-05 14:41:16,513 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 24 treesize of output 19 [2025-02-05 14:41:16,531 INFO L349 Elim1Store]: treesize reduction 21, result has 38.2 percent of original size [2025-02-05 14:41:16,532 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 24 treesize of output 19 [2025-02-05 14:41:16,537 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse1 (select (select |c_#memory_$Pointer$#1.base| |c_ULTIMATE.start_sll_circular_create_#res#1.base|) 0))) (let ((.cse0 (= |c_ULTIMATE.start_sll_circular_create_#res#1.base| .cse1))) (and (or .cse0 (= 0 (select (select |c_#memory_$Pointer$#1.offset| |c_ULTIMATE.start_sll_circular_create_#res#1.base|) 0))) (= |c_ULTIMATE.start_sll_circular_create_#res#1.offset| 0) (or (= (select (select |c_#memory_int#1| |c_ULTIMATE.start_sll_circular_create_#res#1.base|) 4) 1) .cse0) (exists ((|v_#valid_BEFORE_CALL_8| (Array Int Int))) (and (= (select |v_#valid_BEFORE_CALL_8| .cse1) 1) (= (select |v_#valid_BEFORE_CALL_8| |c_ULTIMATE.start_sll_circular_create_#res#1.base|) 0) (= |c_#valid| (let ((.cse2 (@diff |v_#valid_BEFORE_CALL_8| |c_#valid|))) (store |v_#valid_BEFORE_CALL_8| .cse2 (select |c_#valid| .cse2)))))) (= |c_ULTIMATE.start_main_~data~0#1| 1) (= (select |c_#valid| |c_ULTIMATE.start_sll_circular_create_#res#1.base|) 1)))) is different from false [2025-02-05 14:41:16,539 WARN L873 $PredicateComparison]: unable to prove that (let ((.cse1 (select (select |c_#memory_$Pointer$#1.base| |c_ULTIMATE.start_sll_circular_create_#res#1.base|) 0))) (let ((.cse0 (= |c_ULTIMATE.start_sll_circular_create_#res#1.base| .cse1))) (and (or .cse0 (= 0 (select (select |c_#memory_$Pointer$#1.offset| |c_ULTIMATE.start_sll_circular_create_#res#1.base|) 0))) (= |c_ULTIMATE.start_sll_circular_create_#res#1.offset| 0) (or (= (select (select |c_#memory_int#1| |c_ULTIMATE.start_sll_circular_create_#res#1.base|) 4) 1) .cse0) (exists ((|v_#valid_BEFORE_CALL_8| (Array Int Int))) (and (= (select |v_#valid_BEFORE_CALL_8| .cse1) 1) (= (select |v_#valid_BEFORE_CALL_8| |c_ULTIMATE.start_sll_circular_create_#res#1.base|) 0) (= |c_#valid| (let ((.cse2 (@diff |v_#valid_BEFORE_CALL_8| |c_#valid|))) (store |v_#valid_BEFORE_CALL_8| .cse2 (select |c_#valid| .cse2)))))) (= |c_ULTIMATE.start_main_~data~0#1| 1) (= (select |c_#valid| |c_ULTIMATE.start_sll_circular_create_#res#1.base|) 1)))) is different from true [2025-02-05 14:41:16,569 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse1 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse3 (select (select |c_#memory_$Pointer$#1.base| .cse1) 0))) (let ((.cse0 (= .cse3 .cse1))) (and (or .cse0 (= (select (select |c_#memory_int#1| .cse1) 4) 1)) (or .cse0 (= (select (select |c_#memory_$Pointer$#1.offset| .cse1) 0) 0)) (= (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) 0) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_main_~#s~0#1.offset|) (exists ((|v_#valid_BEFORE_CALL_8| (Array Int Int))) (and (= |c_#valid| (let ((.cse2 (@diff |v_#valid_BEFORE_CALL_8| |c_#valid|))) (store |v_#valid_BEFORE_CALL_8| .cse2 (select |c_#valid| .cse2)))) (= (select |v_#valid_BEFORE_CALL_8| .cse3) 1) (= (select |v_#valid_BEFORE_CALL_8| .cse1) 0))) (= (select |c_#valid| .cse1) 1) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| |c_ULTIMATE.start_main_~#s~0#1.base|) (= |c_ULTIMATE.start_main_~data~0#1| 1))))) is different from false [2025-02-05 14:41:16,571 WARN L873 $PredicateComparison]: unable to prove that (let ((.cse1 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse3 (select (select |c_#memory_$Pointer$#1.base| .cse1) 0))) (let ((.cse0 (= .cse3 .cse1))) (and (or .cse0 (= (select (select |c_#memory_int#1| .cse1) 4) 1)) (or .cse0 (= (select (select |c_#memory_$Pointer$#1.offset| .cse1) 0) 0)) (= (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) 0) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_main_~#s~0#1.offset|) (exists ((|v_#valid_BEFORE_CALL_8| (Array Int Int))) (and (= |c_#valid| (let ((.cse2 (@diff |v_#valid_BEFORE_CALL_8| |c_#valid|))) (store |v_#valid_BEFORE_CALL_8| .cse2 (select |c_#valid| .cse2)))) (= (select |v_#valid_BEFORE_CALL_8| .cse3) 1) (= (select |v_#valid_BEFORE_CALL_8| .cse1) 0))) (= (select |c_#valid| .cse1) 1) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| |c_ULTIMATE.start_main_~#s~0#1.base|) (= |c_ULTIMATE.start_main_~data~0#1| 1))))) is different from true [2025-02-05 14:41:16,581 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 68 treesize of output 44 [2025-02-05 14:41:16,586 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 19 treesize of output 11 [2025-02-05 14:41:16,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 19 treesize of output 11 [2025-02-05 14:41:16,612 WARN L851 $PredicateComparison]: unable to prove that (and (= |c_#memory_int#1| |c_old(#memory_int#1)|) (= |c_#valid| |c_old(#valid)|) (= |c_#memory_$Pointer$#1.offset| |c_old(#memory_$Pointer$#1.offset)|) (= |c_#memory_$Pointer$#1.base| |c_old(#memory_$Pointer$#1.base)|) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5| Int) (|v_#valid_BEFORE_CALL_9| (Array Int Int)) (|v_#valid_BEFORE_CALL_8| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5| Int) (v_arrayElimCell_45 Int)) (let ((.cse0 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|))) (and (= (select |v_#valid_BEFORE_CALL_8| v_arrayElimCell_45) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|) 0) (= (select |v_#valid_BEFORE_CALL_8| .cse0) 0) (= (select |v_#valid_BEFORE_CALL_9| .cse0) 1) (= (let ((.cse1 (@diff |v_#valid_BEFORE_CALL_8| |v_#valid_BEFORE_CALL_9|))) (store |v_#valid_BEFORE_CALL_8| .cse1 (select |v_#valid_BEFORE_CALL_9| .cse1))) |v_#valid_BEFORE_CALL_9|))))) is different from false [2025-02-05 14:41:16,614 WARN L873 $PredicateComparison]: unable to prove that (and (= |c_#memory_int#1| |c_old(#memory_int#1)|) (= |c_#valid| |c_old(#valid)|) (= |c_#memory_$Pointer$#1.offset| |c_old(#memory_$Pointer$#1.offset)|) (= |c_#memory_$Pointer$#1.base| |c_old(#memory_$Pointer$#1.base)|) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5| Int) (|v_#valid_BEFORE_CALL_9| (Array Int Int)) (|v_#valid_BEFORE_CALL_8| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5| Int) (v_arrayElimCell_45 Int)) (let ((.cse0 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|))) (and (= (select |v_#valid_BEFORE_CALL_8| v_arrayElimCell_45) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|) 0) (= (select |v_#valid_BEFORE_CALL_8| .cse0) 0) (= (select |v_#valid_BEFORE_CALL_9| .cse0) 1) (= (let ((.cse1 (@diff |v_#valid_BEFORE_CALL_8| |v_#valid_BEFORE_CALL_9|))) (store |v_#valid_BEFORE_CALL_8| .cse1 (select |v_#valid_BEFORE_CALL_9| .cse1))) |v_#valid_BEFORE_CALL_9|))))) is different from true [2025-02-05 14:41:16,637 WARN L851 $PredicateComparison]: unable to prove that (and (= |c_#memory_int#1| |c_old(#memory_int#1)|) (= |c_#memory_$Pointer$#1.offset| |c_old(#memory_$Pointer$#1.offset)|) (= (select |c_old(#valid)| |c_node_create_~temp~0#1.base|) 0) (= |c_#memory_$Pointer$#1.base| |c_old(#memory_$Pointer$#1.base)|) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5| Int) (|v_#valid_BEFORE_CALL_9| (Array Int Int)) (|v_#valid_BEFORE_CALL_8| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5| Int) (v_arrayElimCell_45 Int)) (let ((.cse0 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|))) (and (= (select |v_#valid_BEFORE_CALL_8| v_arrayElimCell_45) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|) 0) (= (select |v_#valid_BEFORE_CALL_8| .cse0) 0) (= (select |v_#valid_BEFORE_CALL_9| .cse0) 1) (= (let ((.cse1 (@diff |v_#valid_BEFORE_CALL_8| |v_#valid_BEFORE_CALL_9|))) (store |v_#valid_BEFORE_CALL_8| .cse1 (select |v_#valid_BEFORE_CALL_9| .cse1))) |v_#valid_BEFORE_CALL_9|))))) is different from false [2025-02-05 14:41:16,639 WARN L873 $PredicateComparison]: unable to prove that (and (= |c_#memory_int#1| |c_old(#memory_int#1)|) (= |c_#memory_$Pointer$#1.offset| |c_old(#memory_$Pointer$#1.offset)|) (= (select |c_old(#valid)| |c_node_create_~temp~0#1.base|) 0) (= |c_#memory_$Pointer$#1.base| |c_old(#memory_$Pointer$#1.base)|) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5| Int) (|v_#valid_BEFORE_CALL_9| (Array Int Int)) (|v_#valid_BEFORE_CALL_8| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5| Int) (v_arrayElimCell_45 Int)) (let ((.cse0 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|))) (and (= (select |v_#valid_BEFORE_CALL_8| v_arrayElimCell_45) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|) 0) (= (select |v_#valid_BEFORE_CALL_8| .cse0) 0) (= (select |v_#valid_BEFORE_CALL_9| .cse0) 1) (= (let ((.cse1 (@diff |v_#valid_BEFORE_CALL_8| |v_#valid_BEFORE_CALL_9|))) (store |v_#valid_BEFORE_CALL_8| .cse1 (select |v_#valid_BEFORE_CALL_9| .cse1))) |v_#valid_BEFORE_CALL_9|))))) is different from true [2025-02-05 14:41:16,682 WARN L851 $PredicateComparison]: unable to prove that (and (= (select |c_old(#valid)| |c_node_create_#res#1.base|) 0) (= |c_#memory_int#1| (store |c_old(#memory_int#1)| |c_node_create_#res#1.base| (select |c_#memory_int#1| |c_node_create_#res#1.base|))) (= |c_#memory_$Pointer$#1.base| (store |c_old(#memory_$Pointer$#1.base)| |c_node_create_#res#1.base| (select |c_#memory_$Pointer$#1.base| |c_node_create_#res#1.base|))) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5| Int) (|v_#valid_BEFORE_CALL_9| (Array Int Int)) (|v_#valid_BEFORE_CALL_8| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5| Int) (v_arrayElimCell_45 Int)) (let ((.cse0 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|))) (and (= (select |v_#valid_BEFORE_CALL_8| v_arrayElimCell_45) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|) 0) (= (select |v_#valid_BEFORE_CALL_8| .cse0) 0) (= (select |v_#valid_BEFORE_CALL_9| .cse0) 1) (= (let ((.cse1 (@diff |v_#valid_BEFORE_CALL_8| |v_#valid_BEFORE_CALL_9|))) (store |v_#valid_BEFORE_CALL_8| .cse1 (select |v_#valid_BEFORE_CALL_9| .cse1))) |v_#valid_BEFORE_CALL_9|)))) (= |c_#memory_$Pointer$#1.offset| (store |c_old(#memory_$Pointer$#1.offset)| |c_node_create_#res#1.base| (select |c_#memory_$Pointer$#1.offset| |c_node_create_#res#1.base|)))) is different from false [2025-02-05 14:41:16,684 WARN L873 $PredicateComparison]: unable to prove that (and (= (select |c_old(#valid)| |c_node_create_#res#1.base|) 0) (= |c_#memory_int#1| (store |c_old(#memory_int#1)| |c_node_create_#res#1.base| (select |c_#memory_int#1| |c_node_create_#res#1.base|))) (= |c_#memory_$Pointer$#1.base| (store |c_old(#memory_$Pointer$#1.base)| |c_node_create_#res#1.base| (select |c_#memory_$Pointer$#1.base| |c_node_create_#res#1.base|))) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5| Int) (|v_#valid_BEFORE_CALL_9| (Array Int Int)) (|v_#valid_BEFORE_CALL_8| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5| Int) (v_arrayElimCell_45 Int)) (let ((.cse0 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|))) (and (= (select |v_#valid_BEFORE_CALL_8| v_arrayElimCell_45) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|) 0) (= (select |v_#valid_BEFORE_CALL_8| .cse0) 0) (= (select |v_#valid_BEFORE_CALL_9| .cse0) 1) (= (let ((.cse1 (@diff |v_#valid_BEFORE_CALL_8| |v_#valid_BEFORE_CALL_9|))) (store |v_#valid_BEFORE_CALL_8| .cse1 (select |v_#valid_BEFORE_CALL_9| .cse1))) |v_#valid_BEFORE_CALL_9|)))) (= |c_#memory_$Pointer$#1.offset| (store |c_old(#memory_$Pointer$#1.offset)| |c_node_create_#res#1.base| (select |c_#memory_$Pointer$#1.offset| |c_node_create_#res#1.base|)))) is different from true [2025-02-05 14:41:16,733 INFO L190 IndexEqualityManager]: detected not equals via solver [2025-02-05 14:41:16,733 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 76 treesize of output 59 [2025-02-05 14:41:16,743 INFO L349 Elim1Store]: treesize reduction 21, result has 44.7 percent of original size [2025-02-05 14:41:16,743 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 36 treesize of output 39 [2025-02-05 14:41:16,762 INFO L349 Elim1Store]: treesize reduction 21, result has 44.7 percent of original size [2025-02-05 14:41:16,762 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 36 treesize of output 39 [2025-02-05 14:41:16,794 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse1 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse5 (select (select |c_#memory_$Pointer$#1.base| .cse1) 0))) (let ((.cse0 (= .cse5 .cse1)) (.cse2 (= |c_ULTIMATE.start_sll_circular_prepend_#t~ret9#1.base| .cse1))) (and (= (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) 0) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_main_~#s~0#1.offset|) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| |c_ULTIMATE.start_main_~#s~0#1.base|) (= |c_ULTIMATE.start_main_~data~0#1| 1) (or .cse0 (= (select (select |c_#memory_$Pointer$#1.offset| .cse1) 0) 0) .cse2) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5| Int) (|v_#valid_BEFORE_CALL_9| (Array Int Int)) (|v_#valid_BEFORE_CALL_8| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5| Int) (v_arrayElimCell_45 Int)) (let ((.cse3 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|))) (and (= (select |v_#valid_BEFORE_CALL_8| v_arrayElimCell_45) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|) 0) (= (select |v_#valid_BEFORE_CALL_8| .cse3) 0) (= (select |v_#valid_BEFORE_CALL_9| .cse3) 1) (= (let ((.cse4 (@diff |v_#valid_BEFORE_CALL_8| |v_#valid_BEFORE_CALL_9|))) (store |v_#valid_BEFORE_CALL_8| .cse4 (select |v_#valid_BEFORE_CALL_9| .cse4))) |v_#valid_BEFORE_CALL_9|)))) (or .cse0 (= (select (select |c_#memory_int#1| .cse1) 4) 1) .cse2) (exists ((|v_old(#valid)_AFTER_CALL_12| (Array Int Int)) (|v_#valid_BEFORE_CALL_11| (Array Int Int))) (and (= 0 (select |v_#valid_BEFORE_CALL_11| .cse1)) (= (select |v_old(#valid)_AFTER_CALL_12| |c_ULTIMATE.start_sll_circular_prepend_#t~ret9#1.base|) 0) (= (select |v_old(#valid)_AFTER_CALL_12| .cse1) 1) (= (select |v_#valid_BEFORE_CALL_11| .cse5) 1) (= (let ((.cse6 (@diff |v_#valid_BEFORE_CALL_11| |v_old(#valid)_AFTER_CALL_12|))) (store |v_#valid_BEFORE_CALL_11| .cse6 (select |v_old(#valid)_AFTER_CALL_12| .cse6))) |v_old(#valid)_AFTER_CALL_12|))))))) is different from false [2025-02-05 14:41:16,796 WARN L873 $PredicateComparison]: unable to prove that (let ((.cse1 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse5 (select (select |c_#memory_$Pointer$#1.base| .cse1) 0))) (let ((.cse0 (= .cse5 .cse1)) (.cse2 (= |c_ULTIMATE.start_sll_circular_prepend_#t~ret9#1.base| .cse1))) (and (= (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) 0) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_main_~#s~0#1.offset|) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| |c_ULTIMATE.start_main_~#s~0#1.base|) (= |c_ULTIMATE.start_main_~data~0#1| 1) (or .cse0 (= (select (select |c_#memory_$Pointer$#1.offset| .cse1) 0) 0) .cse2) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5| Int) (|v_#valid_BEFORE_CALL_9| (Array Int Int)) (|v_#valid_BEFORE_CALL_8| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5| Int) (v_arrayElimCell_45 Int)) (let ((.cse3 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|))) (and (= (select |v_#valid_BEFORE_CALL_8| v_arrayElimCell_45) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|) 0) (= (select |v_#valid_BEFORE_CALL_8| .cse3) 0) (= (select |v_#valid_BEFORE_CALL_9| .cse3) 1) (= (let ((.cse4 (@diff |v_#valid_BEFORE_CALL_8| |v_#valid_BEFORE_CALL_9|))) (store |v_#valid_BEFORE_CALL_8| .cse4 (select |v_#valid_BEFORE_CALL_9| .cse4))) |v_#valid_BEFORE_CALL_9|)))) (or .cse0 (= (select (select |c_#memory_int#1| .cse1) 4) 1) .cse2) (exists ((|v_old(#valid)_AFTER_CALL_12| (Array Int Int)) (|v_#valid_BEFORE_CALL_11| (Array Int Int))) (and (= 0 (select |v_#valid_BEFORE_CALL_11| .cse1)) (= (select |v_old(#valid)_AFTER_CALL_12| |c_ULTIMATE.start_sll_circular_prepend_#t~ret9#1.base|) 0) (= (select |v_old(#valid)_AFTER_CALL_12| .cse1) 1) (= (select |v_#valid_BEFORE_CALL_11| .cse5) 1) (= (let ((.cse6 (@diff |v_#valid_BEFORE_CALL_11| |v_old(#valid)_AFTER_CALL_12|))) (store |v_#valid_BEFORE_CALL_11| .cse6 (select |v_old(#valid)_AFTER_CALL_12| .cse6))) |v_old(#valid)_AFTER_CALL_12|))))))) is different from true [2025-02-05 14:41:16,852 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse1 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse3 (select (select |c_#memory_$Pointer$#1.base| .cse1) 0))) (let ((.cse0 (= .cse3 .cse1)) (.cse2 (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| .cse1))) (and (or .cse0 (= (select (select |c_#memory_int#1| .cse1) 4) 1) .cse2) (= (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) 0) (or .cse0 (= (select (select |c_#memory_$Pointer$#1.offset| .cse1) 0) 0) .cse2) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_main_~#s~0#1.offset|) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| |c_ULTIMATE.start_main_~#s~0#1.base|) (= |c_ULTIMATE.start_main_~data~0#1| 1) (exists ((|v_old(#valid)_AFTER_CALL_12| (Array Int Int)) (|v_#valid_BEFORE_CALL_11| (Array Int Int))) (and (= 0 (select |v_#valid_BEFORE_CALL_11| .cse1)) (= (select |v_old(#valid)_AFTER_CALL_12| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 0) (= (select |v_old(#valid)_AFTER_CALL_12| .cse1) 1) (= (select |v_#valid_BEFORE_CALL_11| .cse3) 1) (= (let ((.cse4 (@diff |v_#valid_BEFORE_CALL_11| |v_old(#valid)_AFTER_CALL_12|))) (store |v_#valid_BEFORE_CALL_11| .cse4 (select |v_old(#valid)_AFTER_CALL_12| .cse4))) |v_old(#valid)_AFTER_CALL_12|))) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5| Int) (|v_#valid_BEFORE_CALL_9| (Array Int Int)) (|v_#valid_BEFORE_CALL_8| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5| Int) (v_arrayElimCell_45 Int)) (let ((.cse5 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|))) (and (= (select |v_#valid_BEFORE_CALL_8| v_arrayElimCell_45) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|) 0) (= (select |v_#valid_BEFORE_CALL_8| .cse5) 0) (= (select |v_#valid_BEFORE_CALL_9| .cse5) 1) (= (let ((.cse6 (@diff |v_#valid_BEFORE_CALL_8| |v_#valid_BEFORE_CALL_9|))) (store |v_#valid_BEFORE_CALL_8| .cse6 (select |v_#valid_BEFORE_CALL_9| .cse6))) |v_#valid_BEFORE_CALL_9|)))))))) is different from false [2025-02-05 14:41:16,855 WARN L873 $PredicateComparison]: unable to prove that (let ((.cse1 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse3 (select (select |c_#memory_$Pointer$#1.base| .cse1) 0))) (let ((.cse0 (= .cse3 .cse1)) (.cse2 (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| .cse1))) (and (or .cse0 (= (select (select |c_#memory_int#1| .cse1) 4) 1) .cse2) (= (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) 0) (or .cse0 (= (select (select |c_#memory_$Pointer$#1.offset| .cse1) 0) 0) .cse2) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_main_~#s~0#1.offset|) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| |c_ULTIMATE.start_main_~#s~0#1.base|) (= |c_ULTIMATE.start_main_~data~0#1| 1) (exists ((|v_old(#valid)_AFTER_CALL_12| (Array Int Int)) (|v_#valid_BEFORE_CALL_11| (Array Int Int))) (and (= 0 (select |v_#valid_BEFORE_CALL_11| .cse1)) (= (select |v_old(#valid)_AFTER_CALL_12| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 0) (= (select |v_old(#valid)_AFTER_CALL_12| .cse1) 1) (= (select |v_#valid_BEFORE_CALL_11| .cse3) 1) (= (let ((.cse4 (@diff |v_#valid_BEFORE_CALL_11| |v_old(#valid)_AFTER_CALL_12|))) (store |v_#valid_BEFORE_CALL_11| .cse4 (select |v_old(#valid)_AFTER_CALL_12| .cse4))) |v_old(#valid)_AFTER_CALL_12|))) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5| Int) (|v_#valid_BEFORE_CALL_9| (Array Int Int)) (|v_#valid_BEFORE_CALL_8| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5| Int) (v_arrayElimCell_45 Int)) (let ((.cse5 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|))) (and (= (select |v_#valid_BEFORE_CALL_8| v_arrayElimCell_45) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|) 0) (= (select |v_#valid_BEFORE_CALL_8| .cse5) 0) (= (select |v_#valid_BEFORE_CALL_9| .cse5) 1) (= (let ((.cse6 (@diff |v_#valid_BEFORE_CALL_8| |v_#valid_BEFORE_CALL_9|))) (store |v_#valid_BEFORE_CALL_8| .cse6 (select |v_#valid_BEFORE_CALL_9| .cse6))) |v_#valid_BEFORE_CALL_9|)))))))) is different from true [2025-02-05 14:41:16,936 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse1 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse3 (select (select |c_#memory_$Pointer$#1.base| .cse1) 0))) (let ((.cse0 (= .cse3 .cse1)) (.cse2 (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| .cse1))) (and (or .cse0 (= (select (select |c_#memory_int#1| .cse1) 4) 1) .cse2) (= (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) 0) (= |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base| (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (or .cse0 (= (select (select |c_#memory_$Pointer$#1.offset| .cse1) 0) 0) .cse2) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_main_~#s~0#1.offset|) (= |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.offset| (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| |c_ULTIMATE.start_main_~#s~0#1.base|) (= |c_ULTIMATE.start_main_~data~0#1| 1) (exists ((|v_old(#valid)_AFTER_CALL_12| (Array Int Int)) (|v_#valid_BEFORE_CALL_11| (Array Int Int))) (and (= 0 (select |v_#valid_BEFORE_CALL_11| .cse1)) (= (select |v_old(#valid)_AFTER_CALL_12| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 0) (= (select |v_old(#valid)_AFTER_CALL_12| .cse1) 1) (= (select |v_#valid_BEFORE_CALL_11| .cse3) 1) (= (let ((.cse4 (@diff |v_#valid_BEFORE_CALL_11| |v_old(#valid)_AFTER_CALL_12|))) (store |v_#valid_BEFORE_CALL_11| .cse4 (select |v_old(#valid)_AFTER_CALL_12| .cse4))) |v_old(#valid)_AFTER_CALL_12|))) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5| Int) (|v_#valid_BEFORE_CALL_9| (Array Int Int)) (|v_#valid_BEFORE_CALL_8| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5| Int) (v_arrayElimCell_45 Int)) (let ((.cse5 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|))) (and (= (select |v_#valid_BEFORE_CALL_8| v_arrayElimCell_45) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|) 0) (= (select |v_#valid_BEFORE_CALL_8| .cse5) 0) (= (select |v_#valid_BEFORE_CALL_9| .cse5) 1) (= (let ((.cse6 (@diff |v_#valid_BEFORE_CALL_8| |v_#valid_BEFORE_CALL_9|))) (store |v_#valid_BEFORE_CALL_8| .cse6 (select |v_#valid_BEFORE_CALL_9| .cse6))) |v_#valid_BEFORE_CALL_9|)))))))) is different from false [2025-02-05 14:41:16,942 WARN L873 $PredicateComparison]: unable to prove that (let ((.cse1 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse3 (select (select |c_#memory_$Pointer$#1.base| .cse1) 0))) (let ((.cse0 (= .cse3 .cse1)) (.cse2 (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| .cse1))) (and (or .cse0 (= (select (select |c_#memory_int#1| .cse1) 4) 1) .cse2) (= (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) 0) (= |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base| (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (or .cse0 (= (select (select |c_#memory_$Pointer$#1.offset| .cse1) 0) 0) .cse2) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_main_~#s~0#1.offset|) (= |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.offset| (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| |c_ULTIMATE.start_main_~#s~0#1.base|) (= |c_ULTIMATE.start_main_~data~0#1| 1) (exists ((|v_old(#valid)_AFTER_CALL_12| (Array Int Int)) (|v_#valid_BEFORE_CALL_11| (Array Int Int))) (and (= 0 (select |v_#valid_BEFORE_CALL_11| .cse1)) (= (select |v_old(#valid)_AFTER_CALL_12| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 0) (= (select |v_old(#valid)_AFTER_CALL_12| .cse1) 1) (= (select |v_#valid_BEFORE_CALL_11| .cse3) 1) (= (let ((.cse4 (@diff |v_#valid_BEFORE_CALL_11| |v_old(#valid)_AFTER_CALL_12|))) (store |v_#valid_BEFORE_CALL_11| .cse4 (select |v_old(#valid)_AFTER_CALL_12| .cse4))) |v_old(#valid)_AFTER_CALL_12|))) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5| Int) (|v_#valid_BEFORE_CALL_9| (Array Int Int)) (|v_#valid_BEFORE_CALL_8| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5| Int) (v_arrayElimCell_45 Int)) (let ((.cse5 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|))) (and (= (select |v_#valid_BEFORE_CALL_8| v_arrayElimCell_45) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|) 0) (= (select |v_#valid_BEFORE_CALL_8| .cse5) 0) (= (select |v_#valid_BEFORE_CALL_9| .cse5) 1) (= (let ((.cse6 (@diff |v_#valid_BEFORE_CALL_8| |v_#valid_BEFORE_CALL_9|))) (store |v_#valid_BEFORE_CALL_8| .cse6 (select |v_#valid_BEFORE_CALL_9| .cse6))) |v_#valid_BEFORE_CALL_9|)))))))) is different from true [2025-02-05 14:41:17,046 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse1 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse5 (select (select |c_#memory_$Pointer$#1.base| .cse1) 0))) (let ((.cse0 (= .cse5 .cse1)) (.cse2 (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| .cse1)) (.cse3 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (.cse4 (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|))) (and (or .cse0 (= (select (select |c_#memory_int#1| .cse1) 4) 1) .cse2) (= (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) 0) (= |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base| .cse3) (or .cse0 (= (select (select |c_#memory_$Pointer$#1.offset| .cse1) 0) 0) .cse2) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_main_~#s~0#1.offset|) (= |c_ULTIMATE.start_sll_circular_prepend_#t~mem12#1.offset| (select (select |c_#memory_$Pointer$#1.offset| |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.offset|)) (= |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.offset| .cse4) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| |c_ULTIMATE.start_main_~#s~0#1.base|) (= |c_ULTIMATE.start_main_~data~0#1| 1) (= |c_ULTIMATE.start_sll_circular_prepend_#t~mem13#1.base| .cse3) (= |c_ULTIMATE.start_sll_circular_prepend_#t~mem12#1.base| (select (select |c_#memory_$Pointer$#1.base| |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.offset|)) (= .cse4 |c_ULTIMATE.start_sll_circular_prepend_#t~mem13#1.offset|) (exists ((|v_old(#valid)_AFTER_CALL_12| (Array Int Int)) (|v_#valid_BEFORE_CALL_11| (Array Int Int))) (and (= 0 (select |v_#valid_BEFORE_CALL_11| .cse1)) (= (select |v_old(#valid)_AFTER_CALL_12| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 0) (= (select |v_old(#valid)_AFTER_CALL_12| .cse1) 1) (= (select |v_#valid_BEFORE_CALL_11| .cse5) 1) (= (let ((.cse6 (@diff |v_#valid_BEFORE_CALL_11| |v_old(#valid)_AFTER_CALL_12|))) (store |v_#valid_BEFORE_CALL_11| .cse6 (select |v_old(#valid)_AFTER_CALL_12| .cse6))) |v_old(#valid)_AFTER_CALL_12|))) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5| Int) (|v_#valid_BEFORE_CALL_9| (Array Int Int)) (|v_#valid_BEFORE_CALL_8| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5| Int) (v_arrayElimCell_45 Int)) (let ((.cse7 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|))) (and (= (select |v_#valid_BEFORE_CALL_8| v_arrayElimCell_45) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|) 0) (= (select |v_#valid_BEFORE_CALL_8| .cse7) 0) (= (select |v_#valid_BEFORE_CALL_9| .cse7) 1) (= (let ((.cse8 (@diff |v_#valid_BEFORE_CALL_8| |v_#valid_BEFORE_CALL_9|))) (store |v_#valid_BEFORE_CALL_8| .cse8 (select |v_#valid_BEFORE_CALL_9| .cse8))) |v_#valid_BEFORE_CALL_9|)))))))) is different from false [2025-02-05 14:41:17,049 WARN L873 $PredicateComparison]: unable to prove that (let ((.cse1 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse5 (select (select |c_#memory_$Pointer$#1.base| .cse1) 0))) (let ((.cse0 (= .cse5 .cse1)) (.cse2 (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| .cse1)) (.cse3 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (.cse4 (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|))) (and (or .cse0 (= (select (select |c_#memory_int#1| .cse1) 4) 1) .cse2) (= (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) 0) (= |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base| .cse3) (or .cse0 (= (select (select |c_#memory_$Pointer$#1.offset| .cse1) 0) 0) .cse2) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_main_~#s~0#1.offset|) (= |c_ULTIMATE.start_sll_circular_prepend_#t~mem12#1.offset| (select (select |c_#memory_$Pointer$#1.offset| |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.offset|)) (= |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.offset| .cse4) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| |c_ULTIMATE.start_main_~#s~0#1.base|) (= |c_ULTIMATE.start_main_~data~0#1| 1) (= |c_ULTIMATE.start_sll_circular_prepend_#t~mem13#1.base| .cse3) (= |c_ULTIMATE.start_sll_circular_prepend_#t~mem12#1.base| (select (select |c_#memory_$Pointer$#1.base| |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.offset|)) (= .cse4 |c_ULTIMATE.start_sll_circular_prepend_#t~mem13#1.offset|) (exists ((|v_old(#valid)_AFTER_CALL_12| (Array Int Int)) (|v_#valid_BEFORE_CALL_11| (Array Int Int))) (and (= 0 (select |v_#valid_BEFORE_CALL_11| .cse1)) (= (select |v_old(#valid)_AFTER_CALL_12| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 0) (= (select |v_old(#valid)_AFTER_CALL_12| .cse1) 1) (= (select |v_#valid_BEFORE_CALL_11| .cse5) 1) (= (let ((.cse6 (@diff |v_#valid_BEFORE_CALL_11| |v_old(#valid)_AFTER_CALL_12|))) (store |v_#valid_BEFORE_CALL_11| .cse6 (select |v_old(#valid)_AFTER_CALL_12| .cse6))) |v_old(#valid)_AFTER_CALL_12|))) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5| Int) (|v_#valid_BEFORE_CALL_9| (Array Int Int)) (|v_#valid_BEFORE_CALL_8| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5| Int) (v_arrayElimCell_45 Int)) (let ((.cse7 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|))) (and (= (select |v_#valid_BEFORE_CALL_8| v_arrayElimCell_45) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|) 0) (= (select |v_#valid_BEFORE_CALL_8| .cse7) 0) (= (select |v_#valid_BEFORE_CALL_9| .cse7) 1) (= (let ((.cse8 (@diff |v_#valid_BEFORE_CALL_8| |v_#valid_BEFORE_CALL_9|))) (store |v_#valid_BEFORE_CALL_8| .cse8 (select |v_#valid_BEFORE_CALL_9| .cse8))) |v_#valid_BEFORE_CALL_9|)))))))) is different from true [2025-02-05 14:41:17,118 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse1 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse9 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (.cse8 (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (.cse4 (select (select |c_#memory_$Pointer$#1.base| .cse1) 0))) (let ((.cse0 (= .cse4 .cse1)) (.cse2 (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| .cse1)) (.cse3 (select (select |c_#memory_$Pointer$#1.base| .cse9) .cse8))) (and (or .cse0 (= (select (select |c_#memory_int#1| .cse1) 4) 1) .cse2) (= (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) 0) (or .cse0 (= (select (select |c_#memory_$Pointer$#1.offset| .cse1) 0) 0) .cse2) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_main_~#s~0#1.offset|) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| |c_ULTIMATE.start_main_~#s~0#1.base|) (= |c_ULTIMATE.start_main_~data~0#1| 1) (= .cse3 |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base|) (exists ((|v_old(#valid)_AFTER_CALL_12| (Array Int Int)) (|v_#valid_BEFORE_CALL_11| (Array Int Int))) (and (= 0 (select |v_#valid_BEFORE_CALL_11| .cse1)) (= (select |v_old(#valid)_AFTER_CALL_12| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 0) (= (select |v_old(#valid)_AFTER_CALL_12| .cse1) 1) (= (select |v_#valid_BEFORE_CALL_11| .cse4) 1) (= (let ((.cse5 (@diff |v_#valid_BEFORE_CALL_11| |v_old(#valid)_AFTER_CALL_12|))) (store |v_#valid_BEFORE_CALL_11| .cse5 (select |v_old(#valid)_AFTER_CALL_12| .cse5))) |v_old(#valid)_AFTER_CALL_12|))) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5| Int) (|v_#valid_BEFORE_CALL_9| (Array Int Int)) (|v_#valid_BEFORE_CALL_8| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5| Int) (v_arrayElimCell_45 Int)) (let ((.cse6 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|))) (and (= (select |v_#valid_BEFORE_CALL_8| v_arrayElimCell_45) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|) 0) (= (select |v_#valid_BEFORE_CALL_8| .cse6) 0) (= (select |v_#valid_BEFORE_CALL_9| .cse6) 1) (= (let ((.cse7 (@diff |v_#valid_BEFORE_CALL_8| |v_#valid_BEFORE_CALL_9|))) (store |v_#valid_BEFORE_CALL_8| .cse7 (select |v_#valid_BEFORE_CALL_9| .cse7))) |v_#valid_BEFORE_CALL_9|)))) (or (not (= .cse8 (select (select |c_#memory_$Pointer$#1.offset| .cse9) .cse8))) (not (= .cse3 .cse9))))))) is different from false [2025-02-05 14:41:17,121 WARN L873 $PredicateComparison]: unable to prove that (let ((.cse1 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse9 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (.cse8 (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (.cse4 (select (select |c_#memory_$Pointer$#1.base| .cse1) 0))) (let ((.cse0 (= .cse4 .cse1)) (.cse2 (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| .cse1)) (.cse3 (select (select |c_#memory_$Pointer$#1.base| .cse9) .cse8))) (and (or .cse0 (= (select (select |c_#memory_int#1| .cse1) 4) 1) .cse2) (= (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) 0) (or .cse0 (= (select (select |c_#memory_$Pointer$#1.offset| .cse1) 0) 0) .cse2) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_main_~#s~0#1.offset|) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| |c_ULTIMATE.start_main_~#s~0#1.base|) (= |c_ULTIMATE.start_main_~data~0#1| 1) (= .cse3 |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base|) (exists ((|v_old(#valid)_AFTER_CALL_12| (Array Int Int)) (|v_#valid_BEFORE_CALL_11| (Array Int Int))) (and (= 0 (select |v_#valid_BEFORE_CALL_11| .cse1)) (= (select |v_old(#valid)_AFTER_CALL_12| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 0) (= (select |v_old(#valid)_AFTER_CALL_12| .cse1) 1) (= (select |v_#valid_BEFORE_CALL_11| .cse4) 1) (= (let ((.cse5 (@diff |v_#valid_BEFORE_CALL_11| |v_old(#valid)_AFTER_CALL_12|))) (store |v_#valid_BEFORE_CALL_11| .cse5 (select |v_old(#valid)_AFTER_CALL_12| .cse5))) |v_old(#valid)_AFTER_CALL_12|))) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5| Int) (|v_#valid_BEFORE_CALL_9| (Array Int Int)) (|v_#valid_BEFORE_CALL_8| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5| Int) (v_arrayElimCell_45 Int)) (let ((.cse6 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|))) (and (= (select |v_#valid_BEFORE_CALL_8| v_arrayElimCell_45) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|) 0) (= (select |v_#valid_BEFORE_CALL_8| .cse6) 0) (= (select |v_#valid_BEFORE_CALL_9| .cse6) 1) (= (let ((.cse7 (@diff |v_#valid_BEFORE_CALL_8| |v_#valid_BEFORE_CALL_9|))) (store |v_#valid_BEFORE_CALL_8| .cse7 (select |v_#valid_BEFORE_CALL_9| .cse7))) |v_#valid_BEFORE_CALL_9|)))) (or (not (= .cse8 (select (select |c_#memory_$Pointer$#1.offset| .cse9) .cse8))) (not (= .cse3 .cse9))))))) is different from true [2025-02-05 14:41:17,197 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse1 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse4 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (.cse9 (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (.cse5 (select (select |c_#memory_$Pointer$#1.base| .cse1) 0))) (let ((.cse0 (= .cse5 .cse1)) (.cse2 (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| .cse1)) (.cse3 (select (select |c_#memory_$Pointer$#1.base| .cse4) .cse9))) (and (or .cse0 (= (select (select |c_#memory_int#1| .cse1) 4) 1) .cse2) (= (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) 0) (or .cse0 (= (select (select |c_#memory_$Pointer$#1.offset| .cse1) 0) 0) .cse2) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_main_~#s~0#1.offset|) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| |c_ULTIMATE.start_main_~#s~0#1.base|) (= |c_ULTIMATE.start_main_~data~0#1| 1) (= .cse3 |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base|) (= |c_ULTIMATE.start_sll_circular_prepend_#t~mem13#1.base| .cse4) (exists ((|v_old(#valid)_AFTER_CALL_12| (Array Int Int)) (|v_#valid_BEFORE_CALL_11| (Array Int Int))) (and (= 0 (select |v_#valid_BEFORE_CALL_11| .cse1)) (= (select |v_old(#valid)_AFTER_CALL_12| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 0) (= (select |v_old(#valid)_AFTER_CALL_12| .cse1) 1) (= (select |v_#valid_BEFORE_CALL_11| .cse5) 1) (= (let ((.cse6 (@diff |v_#valid_BEFORE_CALL_11| |v_old(#valid)_AFTER_CALL_12|))) (store |v_#valid_BEFORE_CALL_11| .cse6 (select |v_old(#valid)_AFTER_CALL_12| .cse6))) |v_old(#valid)_AFTER_CALL_12|))) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5| Int) (|v_#valid_BEFORE_CALL_9| (Array Int Int)) (|v_#valid_BEFORE_CALL_8| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5| Int) (v_arrayElimCell_45 Int)) (let ((.cse7 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|))) (and (= (select |v_#valid_BEFORE_CALL_8| v_arrayElimCell_45) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|) 0) (= (select |v_#valid_BEFORE_CALL_8| .cse7) 0) (= (select |v_#valid_BEFORE_CALL_9| .cse7) 1) (= (let ((.cse8 (@diff |v_#valid_BEFORE_CALL_8| |v_#valid_BEFORE_CALL_9|))) (store |v_#valid_BEFORE_CALL_8| .cse8 (select |v_#valid_BEFORE_CALL_9| .cse8))) |v_#valid_BEFORE_CALL_9|)))) (exists ((|ULTIMATE.start_sll_circular_prepend_~last~1#1.offset| Int)) (= |c_ULTIMATE.start_sll_circular_prepend_#t~mem12#1.base| (select (select |c_#memory_$Pointer$#1.base| |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base|) |ULTIMATE.start_sll_circular_prepend_~last~1#1.offset|))) (or (not (= .cse9 (select (select |c_#memory_$Pointer$#1.offset| .cse4) .cse9))) (not (= .cse3 .cse4))))))) is different from false [2025-02-05 14:41:17,199 WARN L873 $PredicateComparison]: unable to prove that (let ((.cse1 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse4 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (.cse9 (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (.cse5 (select (select |c_#memory_$Pointer$#1.base| .cse1) 0))) (let ((.cse0 (= .cse5 .cse1)) (.cse2 (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| .cse1)) (.cse3 (select (select |c_#memory_$Pointer$#1.base| .cse4) .cse9))) (and (or .cse0 (= (select (select |c_#memory_int#1| .cse1) 4) 1) .cse2) (= (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) 0) (or .cse0 (= (select (select |c_#memory_$Pointer$#1.offset| .cse1) 0) 0) .cse2) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_main_~#s~0#1.offset|) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| |c_ULTIMATE.start_main_~#s~0#1.base|) (= |c_ULTIMATE.start_main_~data~0#1| 1) (= .cse3 |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base|) (= |c_ULTIMATE.start_sll_circular_prepend_#t~mem13#1.base| .cse4) (exists ((|v_old(#valid)_AFTER_CALL_12| (Array Int Int)) (|v_#valid_BEFORE_CALL_11| (Array Int Int))) (and (= 0 (select |v_#valid_BEFORE_CALL_11| .cse1)) (= (select |v_old(#valid)_AFTER_CALL_12| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 0) (= (select |v_old(#valid)_AFTER_CALL_12| .cse1) 1) (= (select |v_#valid_BEFORE_CALL_11| .cse5) 1) (= (let ((.cse6 (@diff |v_#valid_BEFORE_CALL_11| |v_old(#valid)_AFTER_CALL_12|))) (store |v_#valid_BEFORE_CALL_11| .cse6 (select |v_old(#valid)_AFTER_CALL_12| .cse6))) |v_old(#valid)_AFTER_CALL_12|))) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5| Int) (|v_#valid_BEFORE_CALL_9| (Array Int Int)) (|v_#valid_BEFORE_CALL_8| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5| Int) (v_arrayElimCell_45 Int)) (let ((.cse7 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|))) (and (= (select |v_#valid_BEFORE_CALL_8| v_arrayElimCell_45) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|) 0) (= (select |v_#valid_BEFORE_CALL_8| .cse7) 0) (= (select |v_#valid_BEFORE_CALL_9| .cse7) 1) (= (let ((.cse8 (@diff |v_#valid_BEFORE_CALL_8| |v_#valid_BEFORE_CALL_9|))) (store |v_#valid_BEFORE_CALL_8| .cse8 (select |v_#valid_BEFORE_CALL_9| .cse8))) |v_#valid_BEFORE_CALL_9|)))) (exists ((|ULTIMATE.start_sll_circular_prepend_~last~1#1.offset| Int)) (= |c_ULTIMATE.start_sll_circular_prepend_#t~mem12#1.base| (select (select |c_#memory_$Pointer$#1.base| |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base|) |ULTIMATE.start_sll_circular_prepend_~last~1#1.offset|))) (or (not (= .cse9 (select (select |c_#memory_$Pointer$#1.offset| .cse4) .cse9))) (not (= .cse3 .cse4))))))) is different from true [2025-02-05 14:41:17,272 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse1 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse3 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (.cse9 (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (.cse5 (select (select |c_#memory_$Pointer$#1.base| .cse1) 0))) (let ((.cse0 (= .cse5 .cse1)) (.cse2 (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| .cse1)) (.cse4 (select (select |c_#memory_$Pointer$#1.base| .cse3) .cse9))) (and (or .cse0 (= (select (select |c_#memory_int#1| .cse1) 4) 1) .cse2) (= (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) 0) (or .cse0 (= (select (select |c_#memory_$Pointer$#1.offset| .cse1) 0) 0) .cse2) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_main_~#s~0#1.offset|) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| |c_ULTIMATE.start_main_~#s~0#1.base|) (exists ((|ULTIMATE.start_sll_circular_prepend_~last~1#1.offset| Int)) (= (select (select |c_#memory_$Pointer$#1.base| |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base|) |ULTIMATE.start_sll_circular_prepend_~last~1#1.offset|) .cse3)) (= |c_ULTIMATE.start_main_~data~0#1| 1) (= .cse4 |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base|) (exists ((|v_old(#valid)_AFTER_CALL_12| (Array Int Int)) (|v_#valid_BEFORE_CALL_11| (Array Int Int))) (and (= 0 (select |v_#valid_BEFORE_CALL_11| .cse1)) (= (select |v_old(#valid)_AFTER_CALL_12| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 0) (= (select |v_old(#valid)_AFTER_CALL_12| .cse1) 1) (= (select |v_#valid_BEFORE_CALL_11| .cse5) 1) (= (let ((.cse6 (@diff |v_#valid_BEFORE_CALL_11| |v_old(#valid)_AFTER_CALL_12|))) (store |v_#valid_BEFORE_CALL_11| .cse6 (select |v_old(#valid)_AFTER_CALL_12| .cse6))) |v_old(#valid)_AFTER_CALL_12|))) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5| Int) (|v_#valid_BEFORE_CALL_9| (Array Int Int)) (|v_#valid_BEFORE_CALL_8| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5| Int) (v_arrayElimCell_45 Int)) (let ((.cse7 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|))) (and (= (select |v_#valid_BEFORE_CALL_8| v_arrayElimCell_45) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|) 0) (= (select |v_#valid_BEFORE_CALL_8| .cse7) 0) (= (select |v_#valid_BEFORE_CALL_9| .cse7) 1) (= (let ((.cse8 (@diff |v_#valid_BEFORE_CALL_8| |v_#valid_BEFORE_CALL_9|))) (store |v_#valid_BEFORE_CALL_8| .cse8 (select |v_#valid_BEFORE_CALL_9| .cse8))) |v_#valid_BEFORE_CALL_9|)))) (or (not (= .cse9 (select (select |c_#memory_$Pointer$#1.offset| .cse3) .cse9))) (not (= .cse4 .cse3))))))) is different from false [2025-02-05 14:41:17,275 WARN L873 $PredicateComparison]: unable to prove that (let ((.cse1 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse3 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (.cse9 (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (.cse5 (select (select |c_#memory_$Pointer$#1.base| .cse1) 0))) (let ((.cse0 (= .cse5 .cse1)) (.cse2 (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| .cse1)) (.cse4 (select (select |c_#memory_$Pointer$#1.base| .cse3) .cse9))) (and (or .cse0 (= (select (select |c_#memory_int#1| .cse1) 4) 1) .cse2) (= (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) 0) (or .cse0 (= (select (select |c_#memory_$Pointer$#1.offset| .cse1) 0) 0) .cse2) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_main_~#s~0#1.offset|) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| |c_ULTIMATE.start_main_~#s~0#1.base|) (exists ((|ULTIMATE.start_sll_circular_prepend_~last~1#1.offset| Int)) (= (select (select |c_#memory_$Pointer$#1.base| |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base|) |ULTIMATE.start_sll_circular_prepend_~last~1#1.offset|) .cse3)) (= |c_ULTIMATE.start_main_~data~0#1| 1) (= .cse4 |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base|) (exists ((|v_old(#valid)_AFTER_CALL_12| (Array Int Int)) (|v_#valid_BEFORE_CALL_11| (Array Int Int))) (and (= 0 (select |v_#valid_BEFORE_CALL_11| .cse1)) (= (select |v_old(#valid)_AFTER_CALL_12| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 0) (= (select |v_old(#valid)_AFTER_CALL_12| .cse1) 1) (= (select |v_#valid_BEFORE_CALL_11| .cse5) 1) (= (let ((.cse6 (@diff |v_#valid_BEFORE_CALL_11| |v_old(#valid)_AFTER_CALL_12|))) (store |v_#valid_BEFORE_CALL_11| .cse6 (select |v_old(#valid)_AFTER_CALL_12| .cse6))) |v_old(#valid)_AFTER_CALL_12|))) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5| Int) (|v_#valid_BEFORE_CALL_9| (Array Int Int)) (|v_#valid_BEFORE_CALL_8| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5| Int) (v_arrayElimCell_45 Int)) (let ((.cse7 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|))) (and (= (select |v_#valid_BEFORE_CALL_8| v_arrayElimCell_45) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|) 0) (= (select |v_#valid_BEFORE_CALL_8| .cse7) 0) (= (select |v_#valid_BEFORE_CALL_9| .cse7) 1) (= (let ((.cse8 (@diff |v_#valid_BEFORE_CALL_8| |v_#valid_BEFORE_CALL_9|))) (store |v_#valid_BEFORE_CALL_8| .cse8 (select |v_#valid_BEFORE_CALL_9| .cse8))) |v_#valid_BEFORE_CALL_9|)))) (or (not (= .cse9 (select (select |c_#memory_$Pointer$#1.offset| .cse3) .cse9))) (not (= .cse4 .cse3))))))) is different from true [2025-02-05 14:41:17,378 WARN L214 Elim1Store]: Array PQE input equivalent to false [2025-02-05 14:41:17,388 INFO L190 IndexEqualityManager]: detected not equals via solver [2025-02-05 14:41:17,390 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 112 treesize of output 102 [2025-02-05 14:41:17,400 INFO L190 IndexEqualityManager]: detected not equals via solver [2025-02-05 14:41:17,415 INFO L349 Elim1Store]: treesize reduction 61, result has 10.3 percent of original size [2025-02-05 14:41:17,415 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 4 new quantified variables, introduced 2 case distinctions, treesize of input 263 treesize of output 179 [2025-02-05 14:41:17,428 INFO L190 IndexEqualityManager]: detected not equals via solver [2025-02-05 14:41:17,429 INFO L190 IndexEqualityManager]: detected not equals via solver [2025-02-05 14:41:17,430 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 76 treesize of output 42 [2025-02-05 14:41:17,472 INFO L349 Elim1Store]: treesize reduction 20, result has 58.3 percent of original size [2025-02-05 14:41:17,473 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 272 treesize of output 188 [2025-02-05 14:41:17,501 INFO L349 Elim1Store]: treesize reduction 80, result has 15.8 percent of original size [2025-02-05 14:41:17,501 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 5 new quantified variables, introduced 5 case distinctions, treesize of input 412 treesize of output 221 [2025-02-05 14:41:17,535 INFO L349 Elim1Store]: treesize reduction 33, result has 31.3 percent of original size [2025-02-05 14:41:17,535 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 30 treesize of output 22 [2025-02-05 14:41:17,727 INFO L349 Elim1Store]: treesize reduction 93, result has 34.5 percent of original size [2025-02-05 14:41:17,727 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 179 treesize of output 163 [2025-02-05 14:41:17,737 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 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 17 treesize of output 15 [2025-02-05 14:41:17,833 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse3 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|)) (.cse4 (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse0 (select (select |c_#memory_$Pointer$#1.base| .cse3) .cse4))) (let ((.cse5 (select (select |c_#memory_$Pointer$#1.base| .cse0) 0))) (let ((.cse1 (= .cse0 .cse3)) (.cse2 (= .cse0 .cse5))) (and (or (= (select (select |c_#memory_$Pointer$#1.offset| .cse0) 0) 0) .cse1 .cse2) (= (select (select |c_#memory_$Pointer$#1.offset| .cse3) .cse4) 0) (not (= .cse5 .cse3)) (= |c_ULTIMATE.start_main_~data~0#1| 1) (or (exists ((|v_#valid_BEFORE_CALL_9| (Array Int Int)) (|v_#valid_BEFORE_CALL_8| (Array Int Int)) (v_arrayElimCell_45 Int)) (and (= (select |v_#valid_BEFORE_CALL_8| v_arrayElimCell_45) 1) (= (select |v_#valid_BEFORE_CALL_9| .cse0) 1) (= (select |v_#valid_BEFORE_CALL_8| .cse0) 0) (= (let ((.cse6 (@diff |v_#valid_BEFORE_CALL_8| |v_#valid_BEFORE_CALL_9|))) (store |v_#valid_BEFORE_CALL_8| .cse6 (select |v_#valid_BEFORE_CALL_9| .cse6))) |v_#valid_BEFORE_CALL_9|))) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5| Int) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5| Int)) (and (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|) 0) (not (= |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5| |c_ULTIMATE.start_main_~#s~0#1.base|)) (exists ((|v_#valid_BEFORE_CALL_9| (Array Int Int)) (|v_#valid_BEFORE_CALL_8| (Array Int Int)) (v_arrayElimCell_45 Int)) (let ((.cse7 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|))) (and (= (select |v_#valid_BEFORE_CALL_8| v_arrayElimCell_45) 1) (= (select |v_#valid_BEFORE_CALL_8| .cse7) 0) (= (select |v_#valid_BEFORE_CALL_9| .cse7) 1) (= (let ((.cse8 (@diff |v_#valid_BEFORE_CALL_8| |v_#valid_BEFORE_CALL_9|))) (store |v_#valid_BEFORE_CALL_8| .cse8 (select |v_#valid_BEFORE_CALL_9| .cse8))) |v_#valid_BEFORE_CALL_9|)))))) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5| Int) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5| Int)) (and (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|) 0) (exists ((|v_#valid_BEFORE_CALL_9| (Array Int Int)) (|v_#valid_BEFORE_CALL_8| (Array Int Int)) (v_arrayElimCell_45 Int)) (let ((.cse9 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|))) (and (= (select |v_#valid_BEFORE_CALL_8| v_arrayElimCell_45) 1) (= (select |v_#valid_BEFORE_CALL_8| .cse9) 0) (= (select |v_#valid_BEFORE_CALL_9| .cse9) 1) (= (let ((.cse10 (@diff |v_#valid_BEFORE_CALL_8| |v_#valid_BEFORE_CALL_9|))) (store |v_#valid_BEFORE_CALL_8| .cse10 (select |v_#valid_BEFORE_CALL_9| .cse10))) |v_#valid_BEFORE_CALL_9|)))) (not (= |c_ULTIMATE.start_main_~#s~0#1.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|))))) (exists ((|v_old(#valid)_AFTER_CALL_12| (Array Int Int)) (|v_#valid_BEFORE_CALL_11| (Array Int Int))) (and (= (select |v_#valid_BEFORE_CALL_11| .cse0) 0) (= (select |v_#valid_BEFORE_CALL_11| .cse5) 1) (= (select |v_old(#valid)_AFTER_CALL_12| .cse3) 0) (= (select |v_old(#valid)_AFTER_CALL_12| .cse0) 1) (= (let ((.cse11 (@diff |v_#valid_BEFORE_CALL_11| |v_old(#valid)_AFTER_CALL_12|))) (store |v_#valid_BEFORE_CALL_11| .cse11 (select |v_old(#valid)_AFTER_CALL_12| .cse11))) |v_old(#valid)_AFTER_CALL_12|))) (or .cse1 (= (select (select |c_#memory_int#1| .cse0) 4) 1) .cse2)))))) is different from false [2025-02-05 14:41:17,836 WARN L873 $PredicateComparison]: unable to prove that (let ((.cse3 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|)) (.cse4 (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse0 (select (select |c_#memory_$Pointer$#1.base| .cse3) .cse4))) (let ((.cse5 (select (select |c_#memory_$Pointer$#1.base| .cse0) 0))) (let ((.cse1 (= .cse0 .cse3)) (.cse2 (= .cse0 .cse5))) (and (or (= (select (select |c_#memory_$Pointer$#1.offset| .cse0) 0) 0) .cse1 .cse2) (= (select (select |c_#memory_$Pointer$#1.offset| .cse3) .cse4) 0) (not (= .cse5 .cse3)) (= |c_ULTIMATE.start_main_~data~0#1| 1) (or (exists ((|v_#valid_BEFORE_CALL_9| (Array Int Int)) (|v_#valid_BEFORE_CALL_8| (Array Int Int)) (v_arrayElimCell_45 Int)) (and (= (select |v_#valid_BEFORE_CALL_8| v_arrayElimCell_45) 1) (= (select |v_#valid_BEFORE_CALL_9| .cse0) 1) (= (select |v_#valid_BEFORE_CALL_8| .cse0) 0) (= (let ((.cse6 (@diff |v_#valid_BEFORE_CALL_8| |v_#valid_BEFORE_CALL_9|))) (store |v_#valid_BEFORE_CALL_8| .cse6 (select |v_#valid_BEFORE_CALL_9| .cse6))) |v_#valid_BEFORE_CALL_9|))) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5| Int) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5| Int)) (and (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|) 0) (not (= |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5| |c_ULTIMATE.start_main_~#s~0#1.base|)) (exists ((|v_#valid_BEFORE_CALL_9| (Array Int Int)) (|v_#valid_BEFORE_CALL_8| (Array Int Int)) (v_arrayElimCell_45 Int)) (let ((.cse7 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|))) (and (= (select |v_#valid_BEFORE_CALL_8| v_arrayElimCell_45) 1) (= (select |v_#valid_BEFORE_CALL_8| .cse7) 0) (= (select |v_#valid_BEFORE_CALL_9| .cse7) 1) (= (let ((.cse8 (@diff |v_#valid_BEFORE_CALL_8| |v_#valid_BEFORE_CALL_9|))) (store |v_#valid_BEFORE_CALL_8| .cse8 (select |v_#valid_BEFORE_CALL_9| .cse8))) |v_#valid_BEFORE_CALL_9|)))))) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5| Int) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5| Int)) (and (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|) 0) (exists ((|v_#valid_BEFORE_CALL_9| (Array Int Int)) (|v_#valid_BEFORE_CALL_8| (Array Int Int)) (v_arrayElimCell_45 Int)) (let ((.cse9 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|))) (and (= (select |v_#valid_BEFORE_CALL_8| v_arrayElimCell_45) 1) (= (select |v_#valid_BEFORE_CALL_8| .cse9) 0) (= (select |v_#valid_BEFORE_CALL_9| .cse9) 1) (= (let ((.cse10 (@diff |v_#valid_BEFORE_CALL_8| |v_#valid_BEFORE_CALL_9|))) (store |v_#valid_BEFORE_CALL_8| .cse10 (select |v_#valid_BEFORE_CALL_9| .cse10))) |v_#valid_BEFORE_CALL_9|)))) (not (= |c_ULTIMATE.start_main_~#s~0#1.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|))))) (exists ((|v_old(#valid)_AFTER_CALL_12| (Array Int Int)) (|v_#valid_BEFORE_CALL_11| (Array Int Int))) (and (= (select |v_#valid_BEFORE_CALL_11| .cse0) 0) (= (select |v_#valid_BEFORE_CALL_11| .cse5) 1) (= (select |v_old(#valid)_AFTER_CALL_12| .cse3) 0) (= (select |v_old(#valid)_AFTER_CALL_12| .cse0) 1) (= (let ((.cse11 (@diff |v_#valid_BEFORE_CALL_11| |v_old(#valid)_AFTER_CALL_12|))) (store |v_#valid_BEFORE_CALL_11| .cse11 (select |v_old(#valid)_AFTER_CALL_12| .cse11))) |v_old(#valid)_AFTER_CALL_12|))) (or .cse1 (= (select (select |c_#memory_int#1| .cse0) 4) 1) .cse2)))))) is different from true [2025-02-05 14:41:17,885 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2025-02-05 14:41:17,885 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 398 treesize of output 338 [2025-02-05 14:41:17,918 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2025-02-05 14:41:17,918 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 301 treesize of output 265 [2025-02-05 14:41:20,010 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse2 (select (select |c_#memory_$Pointer$#1.base| |c_ULTIMATE.start_main_~ptr~0#1.base|) |c_ULTIMATE.start_main_~ptr~0#1.offset|))) (let ((.cse4 (select (select |c_#memory_$Pointer$#1.base| .cse2) 0))) (let ((.cse0 (= .cse4 .cse2)) (.cse1 (= |c_ULTIMATE.start_main_~ptr~0#1.base| .cse2))) (and (or .cse0 .cse1 (= 0 (select (select |c_#memory_$Pointer$#1.offset| .cse2) 0))) (exists ((|v_old(#valid)_AFTER_CALL_12| (Array Int Int)) (|v_#valid_BEFORE_CALL_11| (Array Int Int))) (and (= (select |v_old(#valid)_AFTER_CALL_12| .cse2) 1) (= (select |v_#valid_BEFORE_CALL_11| .cse2) 0) (= (select |v_old(#valid)_AFTER_CALL_12| |c_ULTIMATE.start_main_~ptr~0#1.base|) 0) (= (let ((.cse3 (@diff |v_#valid_BEFORE_CALL_11| |v_old(#valid)_AFTER_CALL_12|))) (store |v_#valid_BEFORE_CALL_11| .cse3 (select |v_old(#valid)_AFTER_CALL_12| .cse3))) |v_old(#valid)_AFTER_CALL_12|) (= (select |v_#valid_BEFORE_CALL_11| .cse4) 1))) (= |c_ULTIMATE.start_main_~data~0#1| 1) (= 0 (select (select |c_#memory_$Pointer$#1.offset| |c_ULTIMATE.start_main_~ptr~0#1.base|) |c_ULTIMATE.start_main_~ptr~0#1.offset|)) (or .cse0 (= (select (select |c_#memory_int#1| .cse2) 4) 1) .cse1) (not (= |c_ULTIMATE.start_main_~ptr~0#1.base| .cse4)))))) is different from false [2025-02-05 14:41:20,012 WARN L873 $PredicateComparison]: unable to prove that (let ((.cse2 (select (select |c_#memory_$Pointer$#1.base| |c_ULTIMATE.start_main_~ptr~0#1.base|) |c_ULTIMATE.start_main_~ptr~0#1.offset|))) (let ((.cse4 (select (select |c_#memory_$Pointer$#1.base| .cse2) 0))) (let ((.cse0 (= .cse4 .cse2)) (.cse1 (= |c_ULTIMATE.start_main_~ptr~0#1.base| .cse2))) (and (or .cse0 .cse1 (= 0 (select (select |c_#memory_$Pointer$#1.offset| .cse2) 0))) (exists ((|v_old(#valid)_AFTER_CALL_12| (Array Int Int)) (|v_#valid_BEFORE_CALL_11| (Array Int Int))) (and (= (select |v_old(#valid)_AFTER_CALL_12| .cse2) 1) (= (select |v_#valid_BEFORE_CALL_11| .cse2) 0) (= (select |v_old(#valid)_AFTER_CALL_12| |c_ULTIMATE.start_main_~ptr~0#1.base|) 0) (= (let ((.cse3 (@diff |v_#valid_BEFORE_CALL_11| |v_old(#valid)_AFTER_CALL_12|))) (store |v_#valid_BEFORE_CALL_11| .cse3 (select |v_old(#valid)_AFTER_CALL_12| .cse3))) |v_old(#valid)_AFTER_CALL_12|) (= (select |v_#valid_BEFORE_CALL_11| .cse4) 1))) (= |c_ULTIMATE.start_main_~data~0#1| 1) (= 0 (select (select |c_#memory_$Pointer$#1.offset| |c_ULTIMATE.start_main_~ptr~0#1.base|) |c_ULTIMATE.start_main_~ptr~0#1.offset|)) (or .cse0 (= (select (select |c_#memory_int#1| .cse2) 4) 1) .cse1) (not (= |c_ULTIMATE.start_main_~ptr~0#1.base| .cse4)))))) is different from true [2025-02-05 14:41:20,025 INFO L349 Elim1Store]: treesize reduction 11, result has 8.3 percent of original size [2025-02-05 14:41:20,025 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 3 new quantified variables, introduced 1 case distinctions, treesize of input 119 treesize of output 54 [2025-02-05 14:41:20,029 INFO L190 IndexEqualityManager]: detected not equals via solver [2025-02-05 14:41:20,029 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 14 [2025-02-05 14:41:20,049 WARN L851 $PredicateComparison]: unable to prove that (and (= |c_ULTIMATE.start_main_~ptr~0#1.offset| 0) (= (select (select |c_#memory_int#1| |c_ULTIMATE.start_main_~ptr~0#1.base|) 4) 1) (exists ((v_arrayElimCell_72 Int) (|v_ULTIMATE.start_main_~ptr~0#1.base_14| Int) (|v_old(#valid)_AFTER_CALL_12| (Array Int Int)) (|v_#valid_BEFORE_CALL_11| (Array Int Int))) (and (= (select |v_#valid_BEFORE_CALL_11| v_arrayElimCell_72) 1) (= (select |v_old(#valid)_AFTER_CALL_12| |v_ULTIMATE.start_main_~ptr~0#1.base_14|) 0) (= (select |v_old(#valid)_AFTER_CALL_12| |c_ULTIMATE.start_main_~ptr~0#1.base|) 1) (= (let ((.cse0 (@diff |v_#valid_BEFORE_CALL_11| |v_old(#valid)_AFTER_CALL_12|))) (store |v_#valid_BEFORE_CALL_11| .cse0 (select |v_old(#valid)_AFTER_CALL_12| .cse0))) |v_old(#valid)_AFTER_CALL_12|) (= (select |v_#valid_BEFORE_CALL_11| |c_ULTIMATE.start_main_~ptr~0#1.base|) 0))) (= |c_ULTIMATE.start_main_~data~0#1| 1)) is different from false [2025-02-05 14:41:20,050 WARN L873 $PredicateComparison]: unable to prove that (and (= |c_ULTIMATE.start_main_~ptr~0#1.offset| 0) (= (select (select |c_#memory_int#1| |c_ULTIMATE.start_main_~ptr~0#1.base|) 4) 1) (exists ((v_arrayElimCell_72 Int) (|v_ULTIMATE.start_main_~ptr~0#1.base_14| Int) (|v_old(#valid)_AFTER_CALL_12| (Array Int Int)) (|v_#valid_BEFORE_CALL_11| (Array Int Int))) (and (= (select |v_#valid_BEFORE_CALL_11| v_arrayElimCell_72) 1) (= (select |v_old(#valid)_AFTER_CALL_12| |v_ULTIMATE.start_main_~ptr~0#1.base_14|) 0) (= (select |v_old(#valid)_AFTER_CALL_12| |c_ULTIMATE.start_main_~ptr~0#1.base|) 1) (= (let ((.cse0 (@diff |v_#valid_BEFORE_CALL_11| |v_old(#valid)_AFTER_CALL_12|))) (store |v_#valid_BEFORE_CALL_11| .cse0 (select |v_old(#valid)_AFTER_CALL_12| .cse0))) |v_old(#valid)_AFTER_CALL_12|) (= (select |v_#valid_BEFORE_CALL_11| |c_ULTIMATE.start_main_~ptr~0#1.base|) 0))) (= |c_ULTIMATE.start_main_~data~0#1| 1)) is different from true [2025-02-05 14:41:20,074 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 12 not checked. [2025-02-05 14:41:20,074 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-02-05 14:41:20,152 WARN L851 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_624 (Array Int Int)) (v_ArrVal_627 (Array Int Int)) (v_ArrVal_629 (Array Int Int)) (|ULTIMATE.start_sll_circular_prepend_~new_head~1#1.offset| Int) (v_ArrVal_628 (Array Int Int))) (= |c_ULTIMATE.start_main_~data~0#1| (let ((.cse3 (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|)) (.cse0 (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|))) (let ((.cse1 (select (select (store |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| (store .cse0 |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|)) |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|)) (.cse2 (select (select (store |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| (store .cse3 |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |ULTIMATE.start_sll_circular_prepend_~new_head~1#1.offset|)) |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (select (select (store (store |c_#memory_int#1| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| v_ArrVal_624) |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base| v_ArrVal_628) (select (select (store (store |c_#memory_$Pointer$#1.base| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| (store (select |c_#memory_$Pointer$#1.base| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) |ULTIMATE.start_sll_circular_prepend_~new_head~1#1.offset| (select .cse0 |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|))) |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base| v_ArrVal_629) .cse1) .cse2)) (+ (select (select (store (store |c_#memory_$Pointer$#1.offset| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| (store (select |c_#memory_$Pointer$#1.offset| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) |ULTIMATE.start_sll_circular_prepend_~new_head~1#1.offset| (select .cse3 |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|))) |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base| v_ArrVal_627) .cse1) .cse2) 4)))))) is different from false [2025-02-05 14:41:20,694 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2025-02-05 14:41:20,694 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 1 new quantified variables, introduced 1 case distinctions, treesize of input 142 treesize of output 146 [2025-02-05 14:41:21,053 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [163686601] provided 0 perfect and 1 imperfect interpolant sequences [2025-02-05 14:41:21,053 INFO L185 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2025-02-05 14:41:21,053 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [25, 28] total 48 [2025-02-05 14:41:21,053 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1401585688] [2025-02-05 14:41:21,053 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2025-02-05 14:41:21,056 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 48 states [2025-02-05 14:41:21,056 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-02-05 14:41:21,056 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 48 interpolants. [2025-02-05 14:41:21,057 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=142, Invalid=1533, Unknown=37, NotChecked=1710, Total=3422 [2025-02-05 14:41:21,057 INFO L87 Difference]: Start difference. First operand 54 states and 63 transitions. Second operand has 48 states, 44 states have (on average 1.2727272727272727) internal successors, (56), 39 states have internal predecessors, (56), 6 states have call successors, (6), 4 states have call predecessors, (6), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2025-02-05 14:41:21,261 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse0 (select (select |c_#memory_int#1| |c_ULTIMATE.start_sll_circular_create_#t~ret5#1.base|) 4))) (and (= |c_ULTIMATE.start_main_~data~0#1| .cse0) (= |c_ULTIMATE.start_sll_circular_create_~data#1| 1) (= |c_ULTIMATE.start_sll_circular_create_#t~ret5#1.offset| 0) (= (select |c_#valid| |c_ULTIMATE.start_sll_circular_create_#t~ret5#1.base|) 1) (= |c_ULTIMATE.start_main_~data~0#1| 1) (not (= |c_ULTIMATE.start_sll_circular_create_~last~0#1.base| |c_ULTIMATE.start_sll_circular_create_#t~ret5#1.base|)) (exists ((|v_#valid_BEFORE_CALL_8| (Array Int Int))) (and (= (select |v_#valid_BEFORE_CALL_8| |c_ULTIMATE.start_sll_circular_create_~head~0#1.base|) 1) (= (select |v_#valid_BEFORE_CALL_8| |c_ULTIMATE.start_sll_circular_create_#t~ret5#1.base|) 0) (= |c_#valid| (let ((.cse1 (@diff |v_#valid_BEFORE_CALL_8| |c_#valid|))) (store |v_#valid_BEFORE_CALL_8| .cse1 (select |c_#valid| .cse1)))))) (= .cse0 1) (= (select |c_#valid| |c_ULTIMATE.start_sll_circular_create_~head~0#1.base|) 1) (= |c_ULTIMATE.start_sll_circular_create_~head~0#1.offset| 0) (= |c_ULTIMATE.start_sll_circular_create_~head~0#1.base| |c_ULTIMATE.start_sll_circular_create_~last~0#1.base|))) is different from false [2025-02-05 14:41:21,262 WARN L873 $PredicateComparison]: unable to prove that (let ((.cse0 (select (select |c_#memory_int#1| |c_ULTIMATE.start_sll_circular_create_#t~ret5#1.base|) 4))) (and (= |c_ULTIMATE.start_main_~data~0#1| .cse0) (= |c_ULTIMATE.start_sll_circular_create_~data#1| 1) (= |c_ULTIMATE.start_sll_circular_create_#t~ret5#1.offset| 0) (= (select |c_#valid| |c_ULTIMATE.start_sll_circular_create_#t~ret5#1.base|) 1) (= |c_ULTIMATE.start_main_~data~0#1| 1) (not (= |c_ULTIMATE.start_sll_circular_create_~last~0#1.base| |c_ULTIMATE.start_sll_circular_create_#t~ret5#1.base|)) (exists ((|v_#valid_BEFORE_CALL_8| (Array Int Int))) (and (= (select |v_#valid_BEFORE_CALL_8| |c_ULTIMATE.start_sll_circular_create_~head~0#1.base|) 1) (= (select |v_#valid_BEFORE_CALL_8| |c_ULTIMATE.start_sll_circular_create_#t~ret5#1.base|) 0) (= |c_#valid| (let ((.cse1 (@diff |v_#valid_BEFORE_CALL_8| |c_#valid|))) (store |v_#valid_BEFORE_CALL_8| .cse1 (select |c_#valid| .cse1)))))) (= .cse0 1) (= (select |c_#valid| |c_ULTIMATE.start_sll_circular_create_~head~0#1.base|) 1) (= |c_ULTIMATE.start_sll_circular_create_~head~0#1.offset| 0) (= |c_ULTIMATE.start_sll_circular_create_~head~0#1.base| |c_ULTIMATE.start_sll_circular_create_~last~0#1.base|))) is different from true [2025-02-05 14:41:21,265 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse0 (select (select |c_#memory_$Pointer$#1.base| |c_ULTIMATE.start_sll_circular_create_~head~0#1.base|) 0)) (.cse2 (select (select |c_#memory_int#1| |c_ULTIMATE.start_sll_circular_create_~head~0#1.base|) 4))) (and (= |c_ULTIMATE.start_sll_circular_create_~last~0#1.base| .cse0) (exists ((|v_#valid_BEFORE_CALL_8| (Array Int Int))) (and (= (select |v_#valid_BEFORE_CALL_8| |c_ULTIMATE.start_sll_circular_create_~head~0#1.base|) 0) (= |c_#valid| (let ((.cse1 (@diff |v_#valid_BEFORE_CALL_8| |c_#valid|))) (store |v_#valid_BEFORE_CALL_8| .cse1 (select |c_#valid| .cse1)))) (= (select |v_#valid_BEFORE_CALL_8| |c_ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1))) (not (= |c_ULTIMATE.start_sll_circular_create_~head~0#1.base| |c_ULTIMATE.start_sll_circular_create_~last~0#1.base|)) (= .cse2 1) (= (select (select |c_#memory_$Pointer$#1.offset| |c_ULTIMATE.start_sll_circular_create_~head~0#1.base|) 0) 0) (not (= |c_ULTIMATE.start_sll_circular_create_~head~0#1.base| .cse0)) (= (select |c_#valid| .cse0) 1) (= |c_ULTIMATE.start_main_~data~0#1| .cse2) (= |c_ULTIMATE.start_main_~data~0#1| 1) (= (select |c_#valid| |c_ULTIMATE.start_sll_circular_create_~head~0#1.base|) 1) (= |c_ULTIMATE.start_sll_circular_create_~head~0#1.offset| 0))) is different from false [2025-02-05 14:41:21,266 WARN L873 $PredicateComparison]: unable to prove that (let ((.cse0 (select (select |c_#memory_$Pointer$#1.base| |c_ULTIMATE.start_sll_circular_create_~head~0#1.base|) 0)) (.cse2 (select (select |c_#memory_int#1| |c_ULTIMATE.start_sll_circular_create_~head~0#1.base|) 4))) (and (= |c_ULTIMATE.start_sll_circular_create_~last~0#1.base| .cse0) (exists ((|v_#valid_BEFORE_CALL_8| (Array Int Int))) (and (= (select |v_#valid_BEFORE_CALL_8| |c_ULTIMATE.start_sll_circular_create_~head~0#1.base|) 0) (= |c_#valid| (let ((.cse1 (@diff |v_#valid_BEFORE_CALL_8| |c_#valid|))) (store |v_#valid_BEFORE_CALL_8| .cse1 (select |c_#valid| .cse1)))) (= (select |v_#valid_BEFORE_CALL_8| |c_ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1))) (not (= |c_ULTIMATE.start_sll_circular_create_~head~0#1.base| |c_ULTIMATE.start_sll_circular_create_~last~0#1.base|)) (= .cse2 1) (= (select (select |c_#memory_$Pointer$#1.offset| |c_ULTIMATE.start_sll_circular_create_~head~0#1.base|) 0) 0) (not (= |c_ULTIMATE.start_sll_circular_create_~head~0#1.base| .cse0)) (= (select |c_#valid| .cse0) 1) (= |c_ULTIMATE.start_main_~data~0#1| .cse2) (= |c_ULTIMATE.start_main_~data~0#1| 1) (= (select |c_#valid| |c_ULTIMATE.start_sll_circular_create_~head~0#1.base|) 1) (= |c_ULTIMATE.start_sll_circular_create_~head~0#1.offset| 0))) is different from true [2025-02-05 14:41:21,268 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse2 (select (select |c_#memory_$Pointer$#1.base| |c_ULTIMATE.start_sll_circular_create_#res#1.base|) 0))) (let ((.cse0 (= |c_ULTIMATE.start_sll_circular_create_#res#1.base| .cse2)) (.cse1 (select (select |c_#memory_int#1| |c_ULTIMATE.start_sll_circular_create_#res#1.base|) 4))) (and (not .cse0) (or .cse0 (= 0 (select (select |c_#memory_$Pointer$#1.offset| |c_ULTIMATE.start_sll_circular_create_#res#1.base|) 0))) (= |c_ULTIMATE.start_sll_circular_create_#res#1.offset| 0) (or (= .cse1 1) .cse0) (exists ((|v_#valid_BEFORE_CALL_8| (Array Int Int))) (and (= (select |v_#valid_BEFORE_CALL_8| .cse2) 1) (= (select |v_#valid_BEFORE_CALL_8| |c_ULTIMATE.start_sll_circular_create_#res#1.base|) 0) (= |c_#valid| (let ((.cse3 (@diff |v_#valid_BEFORE_CALL_8| |c_#valid|))) (store |v_#valid_BEFORE_CALL_8| .cse3 (select |c_#valid| .cse3)))))) (= |c_ULTIMATE.start_main_~data~0#1| 1) (= .cse1 |c_ULTIMATE.start_main_~data~0#1|) (= (select |c_#valid| .cse2) 1) (= (select |c_#valid| |c_ULTIMATE.start_sll_circular_create_#res#1.base|) 1)))) is different from false [2025-02-05 14:41:21,269 WARN L873 $PredicateComparison]: unable to prove that (let ((.cse2 (select (select |c_#memory_$Pointer$#1.base| |c_ULTIMATE.start_sll_circular_create_#res#1.base|) 0))) (let ((.cse0 (= |c_ULTIMATE.start_sll_circular_create_#res#1.base| .cse2)) (.cse1 (select (select |c_#memory_int#1| |c_ULTIMATE.start_sll_circular_create_#res#1.base|) 4))) (and (not .cse0) (or .cse0 (= 0 (select (select |c_#memory_$Pointer$#1.offset| |c_ULTIMATE.start_sll_circular_create_#res#1.base|) 0))) (= |c_ULTIMATE.start_sll_circular_create_#res#1.offset| 0) (or (= .cse1 1) .cse0) (exists ((|v_#valid_BEFORE_CALL_8| (Array Int Int))) (and (= (select |v_#valid_BEFORE_CALL_8| .cse2) 1) (= (select |v_#valid_BEFORE_CALL_8| |c_ULTIMATE.start_sll_circular_create_#res#1.base|) 0) (= |c_#valid| (let ((.cse3 (@diff |v_#valid_BEFORE_CALL_8| |c_#valid|))) (store |v_#valid_BEFORE_CALL_8| .cse3 (select |c_#valid| .cse3)))))) (= |c_ULTIMATE.start_main_~data~0#1| 1) (= .cse1 |c_ULTIMATE.start_main_~data~0#1|) (= (select |c_#valid| .cse2) 1) (= (select |c_#valid| |c_ULTIMATE.start_sll_circular_create_#res#1.base|) 1)))) is different from true [2025-02-05 14:41:21,273 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse1 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse3 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (.cse5 (select (select |c_#memory_$Pointer$#1.base| .cse1) 0))) (let ((.cse0 (= .cse5 .cse1)) (.cse2 (select (select |c_#memory_$Pointer$#1.base| .cse3) 0))) (and (or .cse0 (= (select (select |c_#memory_int#1| .cse1) 4) 1)) (= (select |c_#valid| .cse2) 1) (= |c_ULTIMATE.start_main_~data~0#1| (select (select |c_#memory_int#1| .cse3) 4)) (or .cse0 (= (select (select |c_#memory_$Pointer$#1.offset| .cse1) 0) 0)) (= (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) 0) (not (= .cse2 .cse3)) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_main_~#s~0#1.offset|) (exists ((|v_#valid_BEFORE_CALL_8| (Array Int Int))) (and (= |c_#valid| (let ((.cse4 (@diff |v_#valid_BEFORE_CALL_8| |c_#valid|))) (store |v_#valid_BEFORE_CALL_8| .cse4 (select |c_#valid| .cse4)))) (= (select |v_#valid_BEFORE_CALL_8| .cse5) 1) (= (select |v_#valid_BEFORE_CALL_8| .cse1) 0))) (= (select |c_#valid| .cse1) 1) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| |c_ULTIMATE.start_main_~#s~0#1.base|) (= (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|) 0) (= |c_ULTIMATE.start_main_~data~0#1| 1) (= (select |c_#valid| .cse3) 1))))) is different from false [2025-02-05 14:41:21,275 WARN L873 $PredicateComparison]: unable to prove that (let ((.cse1 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse3 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (.cse5 (select (select |c_#memory_$Pointer$#1.base| .cse1) 0))) (let ((.cse0 (= .cse5 .cse1)) (.cse2 (select (select |c_#memory_$Pointer$#1.base| .cse3) 0))) (and (or .cse0 (= (select (select |c_#memory_int#1| .cse1) 4) 1)) (= (select |c_#valid| .cse2) 1) (= |c_ULTIMATE.start_main_~data~0#1| (select (select |c_#memory_int#1| .cse3) 4)) (or .cse0 (= (select (select |c_#memory_$Pointer$#1.offset| .cse1) 0) 0)) (= (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) 0) (not (= .cse2 .cse3)) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_main_~#s~0#1.offset|) (exists ((|v_#valid_BEFORE_CALL_8| (Array Int Int))) (and (= |c_#valid| (let ((.cse4 (@diff |v_#valid_BEFORE_CALL_8| |c_#valid|))) (store |v_#valid_BEFORE_CALL_8| .cse4 (select |c_#valid| .cse4)))) (= (select |v_#valid_BEFORE_CALL_8| .cse5) 1) (= (select |v_#valid_BEFORE_CALL_8| .cse1) 0))) (= (select |c_#valid| .cse1) 1) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| |c_ULTIMATE.start_main_~#s~0#1.base|) (= (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|) 0) (= |c_ULTIMATE.start_main_~data~0#1| 1) (= (select |c_#valid| .cse3) 1))))) is different from true [2025-02-05 14:41:21,279 WARN L851 $PredicateComparison]: unable to prove that (and (= |c_#memory_int#1| |c_old(#memory_int#1)|) (= |c_#memory_$Pointer$#1.offset| |c_old(#memory_$Pointer$#1.offset)|) (= |c_node_create_~temp~0#1.offset| 0) (= (select |c_#valid| |c_node_create_~temp~0#1.base|) 1) (= (select |c_old(#valid)| |c_node_create_~temp~0#1.base|) 0) (= |c_#memory_$Pointer$#1.base| |c_old(#memory_$Pointer$#1.base)|) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5| Int) (|v_#valid_BEFORE_CALL_9| (Array Int Int)) (|v_#valid_BEFORE_CALL_8| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5| Int) (v_arrayElimCell_45 Int)) (let ((.cse0 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|))) (and (= (select |v_#valid_BEFORE_CALL_8| v_arrayElimCell_45) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|) 0) (= (select |v_#valid_BEFORE_CALL_8| .cse0) 0) (= (select |v_#valid_BEFORE_CALL_9| .cse0) 1) (= (let ((.cse1 (@diff |v_#valid_BEFORE_CALL_8| |v_#valid_BEFORE_CALL_9|))) (store |v_#valid_BEFORE_CALL_8| .cse1 (select |v_#valid_BEFORE_CALL_9| .cse1))) |v_#valid_BEFORE_CALL_9|))))) is different from false [2025-02-05 14:41:21,280 WARN L873 $PredicateComparison]: unable to prove that (and (= |c_#memory_int#1| |c_old(#memory_int#1)|) (= |c_#memory_$Pointer$#1.offset| |c_old(#memory_$Pointer$#1.offset)|) (= |c_node_create_~temp~0#1.offset| 0) (= (select |c_#valid| |c_node_create_~temp~0#1.base|) 1) (= (select |c_old(#valid)| |c_node_create_~temp~0#1.base|) 0) (= |c_#memory_$Pointer$#1.base| |c_old(#memory_$Pointer$#1.base)|) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5| Int) (|v_#valid_BEFORE_CALL_9| (Array Int Int)) (|v_#valid_BEFORE_CALL_8| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5| Int) (v_arrayElimCell_45 Int)) (let ((.cse0 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|))) (and (= (select |v_#valid_BEFORE_CALL_8| v_arrayElimCell_45) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|) 0) (= (select |v_#valid_BEFORE_CALL_8| .cse0) 0) (= (select |v_#valid_BEFORE_CALL_9| .cse0) 1) (= (let ((.cse1 (@diff |v_#valid_BEFORE_CALL_8| |v_#valid_BEFORE_CALL_9|))) (store |v_#valid_BEFORE_CALL_8| .cse1 (select |v_#valid_BEFORE_CALL_9| .cse1))) |v_#valid_BEFORE_CALL_9|))))) is different from true [2025-02-05 14:41:21,284 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse1 (@diff |c_old(#memory_int#1)| |c_#memory_int#1|))) (let ((.cse2 (store |c_old(#memory_int#1)| .cse1 (select |c_#memory_int#1| .cse1)))) (let ((.cse3 (@diff .cse2 |c_#memory_int#1|)) (.cse0 (@diff |c_old(#memory_$Pointer$#1.base)| |c_#memory_$Pointer$#1.base|))) (and (= |c_node_create_#res#1.offset| 0) (= (select |c_old(#valid)| |c_node_create_#res#1.base|) 0) (= (select |c_#valid| |c_node_create_#res#1.base|) 1) (= |c_#memory_$Pointer$#1.base| (store |c_old(#memory_$Pointer$#1.base)| .cse0 (select |c_#memory_$Pointer$#1.base| .cse0))) (= |c_#memory_int#1| (store |c_old(#memory_int#1)| |c_node_create_#res#1.base| (select |c_#memory_int#1| |c_node_create_#res#1.base|))) (or (= |c_#memory_int#1| |c_old(#memory_int#1)|) (= (select |c_old(#valid)| .cse1) 0)) (= |c_#memory_int#1| (store .cse2 .cse3 (select |c_#memory_int#1| .cse3))) (or (= |c_#memory_int#1| .cse2) (= (select |c_old(#valid)| .cse3) 0)) (= |c_#memory_$Pointer$#1.base| (store |c_old(#memory_$Pointer$#1.base)| |c_node_create_#res#1.base| (select |c_#memory_$Pointer$#1.base| |c_node_create_#res#1.base|))) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5| Int) (|v_#valid_BEFORE_CALL_9| (Array Int Int)) (|v_#valid_BEFORE_CALL_8| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5| Int) (v_arrayElimCell_45 Int)) (let ((.cse4 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|))) (and (= (select |v_#valid_BEFORE_CALL_8| v_arrayElimCell_45) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|) 0) (= (select |v_#valid_BEFORE_CALL_8| .cse4) 0) (= (select |v_#valid_BEFORE_CALL_9| .cse4) 1) (= (let ((.cse5 (@diff |v_#valid_BEFORE_CALL_8| |v_#valid_BEFORE_CALL_9|))) (store |v_#valid_BEFORE_CALL_8| .cse5 (select |v_#valid_BEFORE_CALL_9| .cse5))) |v_#valid_BEFORE_CALL_9|)))) (= |c_#memory_$Pointer$#1.offset| (store |c_old(#memory_$Pointer$#1.offset)| |c_node_create_#res#1.base| (select |c_#memory_$Pointer$#1.offset| |c_node_create_#res#1.base|))) (or (= (select |c_old(#valid)| .cse0) 0) (= |c_#memory_$Pointer$#1.base| |c_old(#memory_$Pointer$#1.base)|)))))) is different from false [2025-02-05 14:41:21,286 WARN L873 $PredicateComparison]: unable to prove that (let ((.cse1 (@diff |c_old(#memory_int#1)| |c_#memory_int#1|))) (let ((.cse2 (store |c_old(#memory_int#1)| .cse1 (select |c_#memory_int#1| .cse1)))) (let ((.cse3 (@diff .cse2 |c_#memory_int#1|)) (.cse0 (@diff |c_old(#memory_$Pointer$#1.base)| |c_#memory_$Pointer$#1.base|))) (and (= |c_node_create_#res#1.offset| 0) (= (select |c_old(#valid)| |c_node_create_#res#1.base|) 0) (= (select |c_#valid| |c_node_create_#res#1.base|) 1) (= |c_#memory_$Pointer$#1.base| (store |c_old(#memory_$Pointer$#1.base)| .cse0 (select |c_#memory_$Pointer$#1.base| .cse0))) (= |c_#memory_int#1| (store |c_old(#memory_int#1)| |c_node_create_#res#1.base| (select |c_#memory_int#1| |c_node_create_#res#1.base|))) (or (= |c_#memory_int#1| |c_old(#memory_int#1)|) (= (select |c_old(#valid)| .cse1) 0)) (= |c_#memory_int#1| (store .cse2 .cse3 (select |c_#memory_int#1| .cse3))) (or (= |c_#memory_int#1| .cse2) (= (select |c_old(#valid)| .cse3) 0)) (= |c_#memory_$Pointer$#1.base| (store |c_old(#memory_$Pointer$#1.base)| |c_node_create_#res#1.base| (select |c_#memory_$Pointer$#1.base| |c_node_create_#res#1.base|))) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5| Int) (|v_#valid_BEFORE_CALL_9| (Array Int Int)) (|v_#valid_BEFORE_CALL_8| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5| Int) (v_arrayElimCell_45 Int)) (let ((.cse4 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|))) (and (= (select |v_#valid_BEFORE_CALL_8| v_arrayElimCell_45) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|) 0) (= (select |v_#valid_BEFORE_CALL_8| .cse4) 0) (= (select |v_#valid_BEFORE_CALL_9| .cse4) 1) (= (let ((.cse5 (@diff |v_#valid_BEFORE_CALL_8| |v_#valid_BEFORE_CALL_9|))) (store |v_#valid_BEFORE_CALL_8| .cse5 (select |v_#valid_BEFORE_CALL_9| .cse5))) |v_#valid_BEFORE_CALL_9|)))) (= |c_#memory_$Pointer$#1.offset| (store |c_old(#memory_$Pointer$#1.offset)| |c_node_create_#res#1.base| (select |c_#memory_$Pointer$#1.offset| |c_node_create_#res#1.base|))) (or (= (select |c_old(#valid)| .cse0) 0) (= |c_#memory_$Pointer$#1.base| |c_old(#memory_$Pointer$#1.base)|)))))) is different from true [2025-02-05 14:41:21,296 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse3 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse7 (select (select |c_#memory_$Pointer$#1.base| .cse3) 0)) (.cse0 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|))) (let ((.cse1 (select (select |c_#memory_$Pointer$#1.base| .cse0) 0)) (.cse2 (= .cse7 .cse3)) (.cse4 (= |c_ULTIMATE.start_sll_circular_prepend_#t~ret9#1.base| .cse3))) (and (= |c_ULTIMATE.start_main_~data~0#1| (select (select |c_#memory_int#1| .cse0) 4)) (= (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) 0) (not (= .cse1 .cse0)) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_main_~#s~0#1.offset|) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| |c_ULTIMATE.start_main_~#s~0#1.base|) (= (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|) 0) (not (= |c_ULTIMATE.start_sll_circular_prepend_#t~ret9#1.base| .cse1)) (= |c_ULTIMATE.start_main_~data~0#1| 1) (or .cse2 (= (select (select |c_#memory_$Pointer$#1.offset| .cse3) 0) 0) .cse4) (not (= |c_ULTIMATE.start_sll_circular_prepend_#t~ret9#1.base| .cse0)) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5| Int) (|v_#valid_BEFORE_CALL_9| (Array Int Int)) (|v_#valid_BEFORE_CALL_8| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5| Int) (v_arrayElimCell_45 Int)) (let ((.cse5 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|))) (and (= (select |v_#valid_BEFORE_CALL_8| v_arrayElimCell_45) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|) 0) (= (select |v_#valid_BEFORE_CALL_8| .cse5) 0) (= (select |v_#valid_BEFORE_CALL_9| .cse5) 1) (= (let ((.cse6 (@diff |v_#valid_BEFORE_CALL_8| |v_#valid_BEFORE_CALL_9|))) (store |v_#valid_BEFORE_CALL_8| .cse6 (select |v_#valid_BEFORE_CALL_9| .cse6))) |v_#valid_BEFORE_CALL_9|)))) (or .cse2 (= (select (select |c_#memory_int#1| .cse3) 4) 1) .cse4) (exists ((|v_old(#valid)_AFTER_CALL_12| (Array Int Int)) (|v_#valid_BEFORE_CALL_11| (Array Int Int))) (and (= 0 (select |v_#valid_BEFORE_CALL_11| .cse3)) (= (select |v_old(#valid)_AFTER_CALL_12| |c_ULTIMATE.start_sll_circular_prepend_#t~ret9#1.base|) 0) (= (select |v_old(#valid)_AFTER_CALL_12| .cse3) 1) (= (select |v_#valid_BEFORE_CALL_11| .cse7) 1) (= (let ((.cse8 (@diff |v_#valid_BEFORE_CALL_11| |v_old(#valid)_AFTER_CALL_12|))) (store |v_#valid_BEFORE_CALL_11| .cse8 (select |v_old(#valid)_AFTER_CALL_12| .cse8))) |v_old(#valid)_AFTER_CALL_12|))))))) is different from false [2025-02-05 14:41:21,298 WARN L873 $PredicateComparison]: unable to prove that (let ((.cse3 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse7 (select (select |c_#memory_$Pointer$#1.base| .cse3) 0)) (.cse0 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|))) (let ((.cse1 (select (select |c_#memory_$Pointer$#1.base| .cse0) 0)) (.cse2 (= .cse7 .cse3)) (.cse4 (= |c_ULTIMATE.start_sll_circular_prepend_#t~ret9#1.base| .cse3))) (and (= |c_ULTIMATE.start_main_~data~0#1| (select (select |c_#memory_int#1| .cse0) 4)) (= (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) 0) (not (= .cse1 .cse0)) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_main_~#s~0#1.offset|) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| |c_ULTIMATE.start_main_~#s~0#1.base|) (= (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|) 0) (not (= |c_ULTIMATE.start_sll_circular_prepend_#t~ret9#1.base| .cse1)) (= |c_ULTIMATE.start_main_~data~0#1| 1) (or .cse2 (= (select (select |c_#memory_$Pointer$#1.offset| .cse3) 0) 0) .cse4) (not (= |c_ULTIMATE.start_sll_circular_prepend_#t~ret9#1.base| .cse0)) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5| Int) (|v_#valid_BEFORE_CALL_9| (Array Int Int)) (|v_#valid_BEFORE_CALL_8| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5| Int) (v_arrayElimCell_45 Int)) (let ((.cse5 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|))) (and (= (select |v_#valid_BEFORE_CALL_8| v_arrayElimCell_45) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|) 0) (= (select |v_#valid_BEFORE_CALL_8| .cse5) 0) (= (select |v_#valid_BEFORE_CALL_9| .cse5) 1) (= (let ((.cse6 (@diff |v_#valid_BEFORE_CALL_8| |v_#valid_BEFORE_CALL_9|))) (store |v_#valid_BEFORE_CALL_8| .cse6 (select |v_#valid_BEFORE_CALL_9| .cse6))) |v_#valid_BEFORE_CALL_9|)))) (or .cse2 (= (select (select |c_#memory_int#1| .cse3) 4) 1) .cse4) (exists ((|v_old(#valid)_AFTER_CALL_12| (Array Int Int)) (|v_#valid_BEFORE_CALL_11| (Array Int Int))) (and (= 0 (select |v_#valid_BEFORE_CALL_11| .cse3)) (= (select |v_old(#valid)_AFTER_CALL_12| |c_ULTIMATE.start_sll_circular_prepend_#t~ret9#1.base|) 0) (= (select |v_old(#valid)_AFTER_CALL_12| .cse3) 1) (= (select |v_#valid_BEFORE_CALL_11| .cse7) 1) (= (let ((.cse8 (@diff |v_#valid_BEFORE_CALL_11| |v_old(#valid)_AFTER_CALL_12|))) (store |v_#valid_BEFORE_CALL_11| .cse8 (select |v_old(#valid)_AFTER_CALL_12| .cse8))) |v_old(#valid)_AFTER_CALL_12|))))))) is different from true [2025-02-05 14:41:21,305 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse2 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse0 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (.cse6 (select (select |c_#memory_$Pointer$#1.base| .cse2) 0))) (let ((.cse1 (= .cse6 .cse2)) (.cse3 (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| .cse2)) (.cse5 (select |c_#memory_$Pointer$#1.base| .cse0)) (.cse4 (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (and (= |c_ULTIMATE.start_main_~data~0#1| (select (select |c_#memory_int#1| .cse0) 4)) (or .cse1 (= (select (select |c_#memory_int#1| .cse2) 4) 1) .cse3) (= .cse4 0) (not (= (select .cse5 0) .cse0)) (or .cse1 (= (select (select |c_#memory_$Pointer$#1.offset| .cse2) 0) 0) .cse3) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_main_~#s~0#1.offset|) (not (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| .cse0)) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| |c_ULTIMATE.start_main_~#s~0#1.base|) (= (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|) 0) (= |c_ULTIMATE.start_main_~data~0#1| 1) (exists ((|v_old(#valid)_AFTER_CALL_12| (Array Int Int)) (|v_#valid_BEFORE_CALL_11| (Array Int Int))) (and (= 0 (select |v_#valid_BEFORE_CALL_11| .cse2)) (= (select |v_old(#valid)_AFTER_CALL_12| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 0) (= (select |v_old(#valid)_AFTER_CALL_12| .cse2) 1) (= (select |v_#valid_BEFORE_CALL_11| .cse6) 1) (= (let ((.cse7 (@diff |v_#valid_BEFORE_CALL_11| |v_old(#valid)_AFTER_CALL_12|))) (store |v_#valid_BEFORE_CALL_11| .cse7 (select |v_old(#valid)_AFTER_CALL_12| .cse7))) |v_old(#valid)_AFTER_CALL_12|))) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5| Int) (|v_#valid_BEFORE_CALL_9| (Array Int Int)) (|v_#valid_BEFORE_CALL_8| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5| Int) (v_arrayElimCell_45 Int)) (let ((.cse8 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|))) (and (= (select |v_#valid_BEFORE_CALL_8| v_arrayElimCell_45) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|) 0) (= (select |v_#valid_BEFORE_CALL_8| .cse8) 0) (= (select |v_#valid_BEFORE_CALL_9| .cse8) 1) (= (let ((.cse9 (@diff |v_#valid_BEFORE_CALL_8| |v_#valid_BEFORE_CALL_9|))) (store |v_#valid_BEFORE_CALL_8| .cse9 (select |v_#valid_BEFORE_CALL_9| .cse9))) |v_#valid_BEFORE_CALL_9|)))) (not (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| (select .cse5 .cse4))))))) is different from false [2025-02-05 14:41:21,308 WARN L873 $PredicateComparison]: unable to prove that (let ((.cse2 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse0 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (.cse6 (select (select |c_#memory_$Pointer$#1.base| .cse2) 0))) (let ((.cse1 (= .cse6 .cse2)) (.cse3 (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| .cse2)) (.cse5 (select |c_#memory_$Pointer$#1.base| .cse0)) (.cse4 (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (and (= |c_ULTIMATE.start_main_~data~0#1| (select (select |c_#memory_int#1| .cse0) 4)) (or .cse1 (= (select (select |c_#memory_int#1| .cse2) 4) 1) .cse3) (= .cse4 0) (not (= (select .cse5 0) .cse0)) (or .cse1 (= (select (select |c_#memory_$Pointer$#1.offset| .cse2) 0) 0) .cse3) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_main_~#s~0#1.offset|) (not (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| .cse0)) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| |c_ULTIMATE.start_main_~#s~0#1.base|) (= (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|) 0) (= |c_ULTIMATE.start_main_~data~0#1| 1) (exists ((|v_old(#valid)_AFTER_CALL_12| (Array Int Int)) (|v_#valid_BEFORE_CALL_11| (Array Int Int))) (and (= 0 (select |v_#valid_BEFORE_CALL_11| .cse2)) (= (select |v_old(#valid)_AFTER_CALL_12| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 0) (= (select |v_old(#valid)_AFTER_CALL_12| .cse2) 1) (= (select |v_#valid_BEFORE_CALL_11| .cse6) 1) (= (let ((.cse7 (@diff |v_#valid_BEFORE_CALL_11| |v_old(#valid)_AFTER_CALL_12|))) (store |v_#valid_BEFORE_CALL_11| .cse7 (select |v_old(#valid)_AFTER_CALL_12| .cse7))) |v_old(#valid)_AFTER_CALL_12|))) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5| Int) (|v_#valid_BEFORE_CALL_9| (Array Int Int)) (|v_#valid_BEFORE_CALL_8| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5| Int) (v_arrayElimCell_45 Int)) (let ((.cse8 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|))) (and (= (select |v_#valid_BEFORE_CALL_8| v_arrayElimCell_45) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|) 0) (= (select |v_#valid_BEFORE_CALL_8| .cse8) 0) (= (select |v_#valid_BEFORE_CALL_9| .cse8) 1) (= (let ((.cse9 (@diff |v_#valid_BEFORE_CALL_8| |v_#valid_BEFORE_CALL_9|))) (store |v_#valid_BEFORE_CALL_8| .cse9 (select |v_#valid_BEFORE_CALL_9| .cse9))) |v_#valid_BEFORE_CALL_9|)))) (not (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| (select .cse5 .cse4))))))) is different from true [2025-02-05 14:41:21,315 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse2 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse6 (select (select |c_#memory_$Pointer$#1.base| .cse2) 0))) (let ((.cse1 (= .cse6 .cse2)) (.cse3 (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| .cse2)) (.cse4 (select (select |c_#memory_$Pointer$#1.base| |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.offset|)) (.cse0 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (.cse5 (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|))) (and (= |c_ULTIMATE.start_main_~data~0#1| (select (select |c_#memory_int#1| .cse0) 4)) (or .cse1 (= (select (select |c_#memory_int#1| .cse2) 4) 1) .cse3) (= (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) 0) (= |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base| .cse0) (or .cse1 (= (select (select |c_#memory_$Pointer$#1.offset| .cse2) 0) 0) .cse3) (not (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| .cse4)) (not (= .cse0 .cse4)) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_main_~#s~0#1.offset|) (not (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| .cse0)) (= |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.offset| .cse5) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| |c_ULTIMATE.start_main_~#s~0#1.base|) (= .cse5 0) (= |c_ULTIMATE.start_main_~data~0#1| 1) (exists ((|v_old(#valid)_AFTER_CALL_12| (Array Int Int)) (|v_#valid_BEFORE_CALL_11| (Array Int Int))) (and (= 0 (select |v_#valid_BEFORE_CALL_11| .cse2)) (= (select |v_old(#valid)_AFTER_CALL_12| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 0) (= (select |v_old(#valid)_AFTER_CALL_12| .cse2) 1) (= (select |v_#valid_BEFORE_CALL_11| .cse6) 1) (= (let ((.cse7 (@diff |v_#valid_BEFORE_CALL_11| |v_old(#valid)_AFTER_CALL_12|))) (store |v_#valid_BEFORE_CALL_11| .cse7 (select |v_old(#valid)_AFTER_CALL_12| .cse7))) |v_old(#valid)_AFTER_CALL_12|))) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5| Int) (|v_#valid_BEFORE_CALL_9| (Array Int Int)) (|v_#valid_BEFORE_CALL_8| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5| Int) (v_arrayElimCell_45 Int)) (let ((.cse8 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|))) (and (= (select |v_#valid_BEFORE_CALL_8| v_arrayElimCell_45) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|) 0) (= (select |v_#valid_BEFORE_CALL_8| .cse8) 0) (= (select |v_#valid_BEFORE_CALL_9| .cse8) 1) (= (let ((.cse9 (@diff |v_#valid_BEFORE_CALL_8| |v_#valid_BEFORE_CALL_9|))) (store |v_#valid_BEFORE_CALL_8| .cse9 (select |v_#valid_BEFORE_CALL_9| .cse9))) |v_#valid_BEFORE_CALL_9|)))))))) is different from false [2025-02-05 14:41:21,317 WARN L873 $PredicateComparison]: unable to prove that (let ((.cse2 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse6 (select (select |c_#memory_$Pointer$#1.base| .cse2) 0))) (let ((.cse1 (= .cse6 .cse2)) (.cse3 (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| .cse2)) (.cse4 (select (select |c_#memory_$Pointer$#1.base| |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.offset|)) (.cse0 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (.cse5 (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|))) (and (= |c_ULTIMATE.start_main_~data~0#1| (select (select |c_#memory_int#1| .cse0) 4)) (or .cse1 (= (select (select |c_#memory_int#1| .cse2) 4) 1) .cse3) (= (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) 0) (= |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base| .cse0) (or .cse1 (= (select (select |c_#memory_$Pointer$#1.offset| .cse2) 0) 0) .cse3) (not (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| .cse4)) (not (= .cse0 .cse4)) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_main_~#s~0#1.offset|) (not (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| .cse0)) (= |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.offset| .cse5) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| |c_ULTIMATE.start_main_~#s~0#1.base|) (= .cse5 0) (= |c_ULTIMATE.start_main_~data~0#1| 1) (exists ((|v_old(#valid)_AFTER_CALL_12| (Array Int Int)) (|v_#valid_BEFORE_CALL_11| (Array Int Int))) (and (= 0 (select |v_#valid_BEFORE_CALL_11| .cse2)) (= (select |v_old(#valid)_AFTER_CALL_12| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 0) (= (select |v_old(#valid)_AFTER_CALL_12| .cse2) 1) (= (select |v_#valid_BEFORE_CALL_11| .cse6) 1) (= (let ((.cse7 (@diff |v_#valid_BEFORE_CALL_11| |v_old(#valid)_AFTER_CALL_12|))) (store |v_#valid_BEFORE_CALL_11| .cse7 (select |v_old(#valid)_AFTER_CALL_12| .cse7))) |v_old(#valid)_AFTER_CALL_12|))) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5| Int) (|v_#valid_BEFORE_CALL_9| (Array Int Int)) (|v_#valid_BEFORE_CALL_8| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5| Int) (v_arrayElimCell_45 Int)) (let ((.cse8 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|))) (and (= (select |v_#valid_BEFORE_CALL_8| v_arrayElimCell_45) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|) 0) (= (select |v_#valid_BEFORE_CALL_8| .cse8) 0) (= (select |v_#valid_BEFORE_CALL_9| .cse8) 1) (= (let ((.cse9 (@diff |v_#valid_BEFORE_CALL_8| |v_#valid_BEFORE_CALL_9|))) (store |v_#valid_BEFORE_CALL_8| .cse9 (select |v_#valid_BEFORE_CALL_9| .cse9))) |v_#valid_BEFORE_CALL_9|)))))))) is different from true [2025-02-05 14:41:21,325 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse2 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse6 (select (select |c_#memory_$Pointer$#1.base| .cse2) 0))) (let ((.cse1 (= .cse6 .cse2)) (.cse3 (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| .cse2)) (.cse0 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (.cse4 (select (select |c_#memory_$Pointer$#1.base| |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.offset|)) (.cse5 (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|))) (and (= |c_ULTIMATE.start_main_~data~0#1| (select (select |c_#memory_int#1| .cse0) 4)) (or .cse1 (= (select (select |c_#memory_int#1| .cse2) 4) 1) .cse3) (= (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) 0) (= |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base| .cse0) (or .cse1 (= (select (select |c_#memory_$Pointer$#1.offset| .cse2) 0) 0) .cse3) (not (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| .cse4)) (not (= .cse0 .cse4)) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_main_~#s~0#1.offset|) (not (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| .cse0)) (= |c_ULTIMATE.start_sll_circular_prepend_#t~mem12#1.offset| (select (select |c_#memory_$Pointer$#1.offset| |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.offset|)) (= |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.offset| .cse5) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| |c_ULTIMATE.start_main_~#s~0#1.base|) (= .cse5 0) (= |c_ULTIMATE.start_main_~data~0#1| 1) (= |c_ULTIMATE.start_sll_circular_prepend_#t~mem13#1.base| .cse0) (= |c_ULTIMATE.start_sll_circular_prepend_#t~mem12#1.base| .cse4) (= .cse5 |c_ULTIMATE.start_sll_circular_prepend_#t~mem13#1.offset|) (exists ((|v_old(#valid)_AFTER_CALL_12| (Array Int Int)) (|v_#valid_BEFORE_CALL_11| (Array Int Int))) (and (= 0 (select |v_#valid_BEFORE_CALL_11| .cse2)) (= (select |v_old(#valid)_AFTER_CALL_12| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 0) (= (select |v_old(#valid)_AFTER_CALL_12| .cse2) 1) (= (select |v_#valid_BEFORE_CALL_11| .cse6) 1) (= (let ((.cse7 (@diff |v_#valid_BEFORE_CALL_11| |v_old(#valid)_AFTER_CALL_12|))) (store |v_#valid_BEFORE_CALL_11| .cse7 (select |v_old(#valid)_AFTER_CALL_12| .cse7))) |v_old(#valid)_AFTER_CALL_12|))) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5| Int) (|v_#valid_BEFORE_CALL_9| (Array Int Int)) (|v_#valid_BEFORE_CALL_8| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5| Int) (v_arrayElimCell_45 Int)) (let ((.cse8 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|))) (and (= (select |v_#valid_BEFORE_CALL_8| v_arrayElimCell_45) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|) 0) (= (select |v_#valid_BEFORE_CALL_8| .cse8) 0) (= (select |v_#valid_BEFORE_CALL_9| .cse8) 1) (= (let ((.cse9 (@diff |v_#valid_BEFORE_CALL_8| |v_#valid_BEFORE_CALL_9|))) (store |v_#valid_BEFORE_CALL_8| .cse9 (select |v_#valid_BEFORE_CALL_9| .cse9))) |v_#valid_BEFORE_CALL_9|)))))))) is different from false [2025-02-05 14:41:21,328 WARN L873 $PredicateComparison]: unable to prove that (let ((.cse2 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse6 (select (select |c_#memory_$Pointer$#1.base| .cse2) 0))) (let ((.cse1 (= .cse6 .cse2)) (.cse3 (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| .cse2)) (.cse0 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (.cse4 (select (select |c_#memory_$Pointer$#1.base| |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.offset|)) (.cse5 (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|))) (and (= |c_ULTIMATE.start_main_~data~0#1| (select (select |c_#memory_int#1| .cse0) 4)) (or .cse1 (= (select (select |c_#memory_int#1| .cse2) 4) 1) .cse3) (= (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) 0) (= |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base| .cse0) (or .cse1 (= (select (select |c_#memory_$Pointer$#1.offset| .cse2) 0) 0) .cse3) (not (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| .cse4)) (not (= .cse0 .cse4)) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_main_~#s~0#1.offset|) (not (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| .cse0)) (= |c_ULTIMATE.start_sll_circular_prepend_#t~mem12#1.offset| (select (select |c_#memory_$Pointer$#1.offset| |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.offset|)) (= |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.offset| .cse5) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| |c_ULTIMATE.start_main_~#s~0#1.base|) (= .cse5 0) (= |c_ULTIMATE.start_main_~data~0#1| 1) (= |c_ULTIMATE.start_sll_circular_prepend_#t~mem13#1.base| .cse0) (= |c_ULTIMATE.start_sll_circular_prepend_#t~mem12#1.base| .cse4) (= .cse5 |c_ULTIMATE.start_sll_circular_prepend_#t~mem13#1.offset|) (exists ((|v_old(#valid)_AFTER_CALL_12| (Array Int Int)) (|v_#valid_BEFORE_CALL_11| (Array Int Int))) (and (= 0 (select |v_#valid_BEFORE_CALL_11| .cse2)) (= (select |v_old(#valid)_AFTER_CALL_12| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 0) (= (select |v_old(#valid)_AFTER_CALL_12| .cse2) 1) (= (select |v_#valid_BEFORE_CALL_11| .cse6) 1) (= (let ((.cse7 (@diff |v_#valid_BEFORE_CALL_11| |v_old(#valid)_AFTER_CALL_12|))) (store |v_#valid_BEFORE_CALL_11| .cse7 (select |v_old(#valid)_AFTER_CALL_12| .cse7))) |v_old(#valid)_AFTER_CALL_12|))) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5| Int) (|v_#valid_BEFORE_CALL_9| (Array Int Int)) (|v_#valid_BEFORE_CALL_8| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5| Int) (v_arrayElimCell_45 Int)) (let ((.cse8 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|))) (and (= (select |v_#valid_BEFORE_CALL_8| v_arrayElimCell_45) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|) 0) (= (select |v_#valid_BEFORE_CALL_8| .cse8) 0) (= (select |v_#valid_BEFORE_CALL_9| .cse8) 1) (= (let ((.cse9 (@diff |v_#valid_BEFORE_CALL_8| |v_#valid_BEFORE_CALL_9|))) (store |v_#valid_BEFORE_CALL_8| .cse9 (select |v_#valid_BEFORE_CALL_9| .cse9))) |v_#valid_BEFORE_CALL_9|)))))))) is different from true [2025-02-05 14:41:21,337 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse2 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse0 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (.cse4 (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (.cse6 (select (select |c_#memory_$Pointer$#1.base| .cse2) 0))) (let ((.cse1 (= .cse6 .cse2)) (.cse3 (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| .cse2)) (.cse5 (select (select |c_#memory_$Pointer$#1.base| .cse0) .cse4))) (and (= |c_ULTIMATE.start_main_~data~0#1| (select (select |c_#memory_int#1| .cse0) 4)) (or .cse1 (= (select (select |c_#memory_int#1| .cse2) 4) 1) .cse3) (= (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) 0) (or .cse1 (= (select (select |c_#memory_$Pointer$#1.offset| .cse2) 0) 0) .cse3) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_main_~#s~0#1.offset|) (not (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| .cse0)) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| |c_ULTIMATE.start_main_~#s~0#1.base|) (= .cse4 0) (= |c_ULTIMATE.start_main_~data~0#1| 1) (not (= |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base| .cse0)) (= .cse5 |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base|) (not (= |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|)) (exists ((|v_old(#valid)_AFTER_CALL_12| (Array Int Int)) (|v_#valid_BEFORE_CALL_11| (Array Int Int))) (and (= 0 (select |v_#valid_BEFORE_CALL_11| .cse2)) (= (select |v_old(#valid)_AFTER_CALL_12| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 0) (= (select |v_old(#valid)_AFTER_CALL_12| .cse2) 1) (= (select |v_#valid_BEFORE_CALL_11| .cse6) 1) (= (let ((.cse7 (@diff |v_#valid_BEFORE_CALL_11| |v_old(#valid)_AFTER_CALL_12|))) (store |v_#valid_BEFORE_CALL_11| .cse7 (select |v_old(#valid)_AFTER_CALL_12| .cse7))) |v_old(#valid)_AFTER_CALL_12|))) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5| Int) (|v_#valid_BEFORE_CALL_9| (Array Int Int)) (|v_#valid_BEFORE_CALL_8| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5| Int) (v_arrayElimCell_45 Int)) (let ((.cse8 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|))) (and (= (select |v_#valid_BEFORE_CALL_8| v_arrayElimCell_45) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|) 0) (= (select |v_#valid_BEFORE_CALL_8| .cse8) 0) (= (select |v_#valid_BEFORE_CALL_9| .cse8) 1) (= (let ((.cse9 (@diff |v_#valid_BEFORE_CALL_8| |v_#valid_BEFORE_CALL_9|))) (store |v_#valid_BEFORE_CALL_8| .cse9 (select |v_#valid_BEFORE_CALL_9| .cse9))) |v_#valid_BEFORE_CALL_9|)))) (or (not (= .cse4 (select (select |c_#memory_$Pointer$#1.offset| .cse0) .cse4))) (not (= .cse5 .cse0))))))) is different from false [2025-02-05 14:41:21,339 WARN L873 $PredicateComparison]: unable to prove that (let ((.cse2 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse0 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (.cse4 (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (.cse6 (select (select |c_#memory_$Pointer$#1.base| .cse2) 0))) (let ((.cse1 (= .cse6 .cse2)) (.cse3 (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| .cse2)) (.cse5 (select (select |c_#memory_$Pointer$#1.base| .cse0) .cse4))) (and (= |c_ULTIMATE.start_main_~data~0#1| (select (select |c_#memory_int#1| .cse0) 4)) (or .cse1 (= (select (select |c_#memory_int#1| .cse2) 4) 1) .cse3) (= (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) 0) (or .cse1 (= (select (select |c_#memory_$Pointer$#1.offset| .cse2) 0) 0) .cse3) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_main_~#s~0#1.offset|) (not (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| .cse0)) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| |c_ULTIMATE.start_main_~#s~0#1.base|) (= .cse4 0) (= |c_ULTIMATE.start_main_~data~0#1| 1) (not (= |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base| .cse0)) (= .cse5 |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base|) (not (= |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|)) (exists ((|v_old(#valid)_AFTER_CALL_12| (Array Int Int)) (|v_#valid_BEFORE_CALL_11| (Array Int Int))) (and (= 0 (select |v_#valid_BEFORE_CALL_11| .cse2)) (= (select |v_old(#valid)_AFTER_CALL_12| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 0) (= (select |v_old(#valid)_AFTER_CALL_12| .cse2) 1) (= (select |v_#valid_BEFORE_CALL_11| .cse6) 1) (= (let ((.cse7 (@diff |v_#valid_BEFORE_CALL_11| |v_old(#valid)_AFTER_CALL_12|))) (store |v_#valid_BEFORE_CALL_11| .cse7 (select |v_old(#valid)_AFTER_CALL_12| .cse7))) |v_old(#valid)_AFTER_CALL_12|))) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5| Int) (|v_#valid_BEFORE_CALL_9| (Array Int Int)) (|v_#valid_BEFORE_CALL_8| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5| Int) (v_arrayElimCell_45 Int)) (let ((.cse8 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|))) (and (= (select |v_#valid_BEFORE_CALL_8| v_arrayElimCell_45) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|) 0) (= (select |v_#valid_BEFORE_CALL_8| .cse8) 0) (= (select |v_#valid_BEFORE_CALL_9| .cse8) 1) (= (let ((.cse9 (@diff |v_#valid_BEFORE_CALL_8| |v_#valid_BEFORE_CALL_9|))) (store |v_#valid_BEFORE_CALL_8| .cse9 (select |v_#valid_BEFORE_CALL_9| .cse9))) |v_#valid_BEFORE_CALL_9|)))) (or (not (= .cse4 (select (select |c_#memory_$Pointer$#1.offset| .cse0) .cse4))) (not (= .cse5 .cse0))))))) is different from true [2025-02-05 14:41:21,348 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse2 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse0 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (.cse4 (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (.cse6 (select (select |c_#memory_$Pointer$#1.base| .cse2) 0))) (let ((.cse1 (= .cse6 .cse2)) (.cse3 (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| .cse2)) (.cse5 (select (select |c_#memory_$Pointer$#1.base| .cse0) .cse4))) (and (= |c_ULTIMATE.start_main_~data~0#1| (select (select |c_#memory_int#1| .cse0) 4)) (or .cse1 (= (select (select |c_#memory_int#1| .cse2) 4) 1) .cse3) (= (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) 0) (or .cse1 (= (select (select |c_#memory_$Pointer$#1.offset| .cse2) 0) 0) .cse3) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_main_~#s~0#1.offset|) (not (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| .cse0)) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| |c_ULTIMATE.start_main_~#s~0#1.base|) (= .cse4 0) (= |c_ULTIMATE.start_main_~data~0#1| 1) (not (= |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base| .cse0)) (= .cse5 |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base|) (= |c_ULTIMATE.start_sll_circular_prepend_#t~mem13#1.base| .cse0) (not (= |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|)) (exists ((|v_old(#valid)_AFTER_CALL_12| (Array Int Int)) (|v_#valid_BEFORE_CALL_11| (Array Int Int))) (and (= 0 (select |v_#valid_BEFORE_CALL_11| .cse2)) (= (select |v_old(#valid)_AFTER_CALL_12| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 0) (= (select |v_old(#valid)_AFTER_CALL_12| .cse2) 1) (= (select |v_#valid_BEFORE_CALL_11| .cse6) 1) (= (let ((.cse7 (@diff |v_#valid_BEFORE_CALL_11| |v_old(#valid)_AFTER_CALL_12|))) (store |v_#valid_BEFORE_CALL_11| .cse7 (select |v_old(#valid)_AFTER_CALL_12| .cse7))) |v_old(#valid)_AFTER_CALL_12|))) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5| Int) (|v_#valid_BEFORE_CALL_9| (Array Int Int)) (|v_#valid_BEFORE_CALL_8| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5| Int) (v_arrayElimCell_45 Int)) (let ((.cse8 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|))) (and (= (select |v_#valid_BEFORE_CALL_8| v_arrayElimCell_45) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|) 0) (= (select |v_#valid_BEFORE_CALL_8| .cse8) 0) (= (select |v_#valid_BEFORE_CALL_9| .cse8) 1) (= (let ((.cse9 (@diff |v_#valid_BEFORE_CALL_8| |v_#valid_BEFORE_CALL_9|))) (store |v_#valid_BEFORE_CALL_8| .cse9 (select |v_#valid_BEFORE_CALL_9| .cse9))) |v_#valid_BEFORE_CALL_9|)))) (exists ((|ULTIMATE.start_sll_circular_prepend_~last~1#1.offset| Int)) (= |c_ULTIMATE.start_sll_circular_prepend_#t~mem12#1.base| (select (select |c_#memory_$Pointer$#1.base| |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base|) |ULTIMATE.start_sll_circular_prepend_~last~1#1.offset|))) (or (not (= .cse4 (select (select |c_#memory_$Pointer$#1.offset| .cse0) .cse4))) (not (= .cse5 .cse0))))))) is different from false [2025-02-05 14:41:21,350 WARN L873 $PredicateComparison]: unable to prove that (let ((.cse2 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse0 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (.cse4 (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (.cse6 (select (select |c_#memory_$Pointer$#1.base| .cse2) 0))) (let ((.cse1 (= .cse6 .cse2)) (.cse3 (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| .cse2)) (.cse5 (select (select |c_#memory_$Pointer$#1.base| .cse0) .cse4))) (and (= |c_ULTIMATE.start_main_~data~0#1| (select (select |c_#memory_int#1| .cse0) 4)) (or .cse1 (= (select (select |c_#memory_int#1| .cse2) 4) 1) .cse3) (= (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) 0) (or .cse1 (= (select (select |c_#memory_$Pointer$#1.offset| .cse2) 0) 0) .cse3) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_main_~#s~0#1.offset|) (not (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| .cse0)) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| |c_ULTIMATE.start_main_~#s~0#1.base|) (= .cse4 0) (= |c_ULTIMATE.start_main_~data~0#1| 1) (not (= |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base| .cse0)) (= .cse5 |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base|) (= |c_ULTIMATE.start_sll_circular_prepend_#t~mem13#1.base| .cse0) (not (= |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|)) (exists ((|v_old(#valid)_AFTER_CALL_12| (Array Int Int)) (|v_#valid_BEFORE_CALL_11| (Array Int Int))) (and (= 0 (select |v_#valid_BEFORE_CALL_11| .cse2)) (= (select |v_old(#valid)_AFTER_CALL_12| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 0) (= (select |v_old(#valid)_AFTER_CALL_12| .cse2) 1) (= (select |v_#valid_BEFORE_CALL_11| .cse6) 1) (= (let ((.cse7 (@diff |v_#valid_BEFORE_CALL_11| |v_old(#valid)_AFTER_CALL_12|))) (store |v_#valid_BEFORE_CALL_11| .cse7 (select |v_old(#valid)_AFTER_CALL_12| .cse7))) |v_old(#valid)_AFTER_CALL_12|))) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5| Int) (|v_#valid_BEFORE_CALL_9| (Array Int Int)) (|v_#valid_BEFORE_CALL_8| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5| Int) (v_arrayElimCell_45 Int)) (let ((.cse8 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|))) (and (= (select |v_#valid_BEFORE_CALL_8| v_arrayElimCell_45) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|) 0) (= (select |v_#valid_BEFORE_CALL_8| .cse8) 0) (= (select |v_#valid_BEFORE_CALL_9| .cse8) 1) (= (let ((.cse9 (@diff |v_#valid_BEFORE_CALL_8| |v_#valid_BEFORE_CALL_9|))) (store |v_#valid_BEFORE_CALL_8| .cse9 (select |v_#valid_BEFORE_CALL_9| .cse9))) |v_#valid_BEFORE_CALL_9|)))) (exists ((|ULTIMATE.start_sll_circular_prepend_~last~1#1.offset| Int)) (= |c_ULTIMATE.start_sll_circular_prepend_#t~mem12#1.base| (select (select |c_#memory_$Pointer$#1.base| |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base|) |ULTIMATE.start_sll_circular_prepend_~last~1#1.offset|))) (or (not (= .cse4 (select (select |c_#memory_$Pointer$#1.offset| .cse0) .cse4))) (not (= .cse5 .cse0))))))) is different from true [2025-02-05 14:41:21,358 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse2 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse0 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (.cse4 (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (.cse6 (select (select |c_#memory_$Pointer$#1.base| .cse2) 0))) (let ((.cse1 (= .cse6 .cse2)) (.cse3 (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| .cse2)) (.cse5 (select (select |c_#memory_$Pointer$#1.base| .cse0) .cse4))) (and (= |c_ULTIMATE.start_main_~data~0#1| (select (select |c_#memory_int#1| .cse0) 4)) (or .cse1 (= (select (select |c_#memory_int#1| .cse2) 4) 1) .cse3) (= (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) 0) (or .cse1 (= (select (select |c_#memory_$Pointer$#1.offset| .cse2) 0) 0) .cse3) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_main_~#s~0#1.offset|) (not (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| .cse0)) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| |c_ULTIMATE.start_main_~#s~0#1.base|) (= .cse4 0) (exists ((|ULTIMATE.start_sll_circular_prepend_~last~1#1.offset| Int)) (= (select (select |c_#memory_$Pointer$#1.base| |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base|) |ULTIMATE.start_sll_circular_prepend_~last~1#1.offset|) .cse0)) (= |c_ULTIMATE.start_main_~data~0#1| 1) (not (= |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base| .cse0)) (= .cse5 |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base|) (not (= |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|)) (exists ((|v_old(#valid)_AFTER_CALL_12| (Array Int Int)) (|v_#valid_BEFORE_CALL_11| (Array Int Int))) (and (= 0 (select |v_#valid_BEFORE_CALL_11| .cse2)) (= (select |v_old(#valid)_AFTER_CALL_12| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 0) (= (select |v_old(#valid)_AFTER_CALL_12| .cse2) 1) (= (select |v_#valid_BEFORE_CALL_11| .cse6) 1) (= (let ((.cse7 (@diff |v_#valid_BEFORE_CALL_11| |v_old(#valid)_AFTER_CALL_12|))) (store |v_#valid_BEFORE_CALL_11| .cse7 (select |v_old(#valid)_AFTER_CALL_12| .cse7))) |v_old(#valid)_AFTER_CALL_12|))) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5| Int) (|v_#valid_BEFORE_CALL_9| (Array Int Int)) (|v_#valid_BEFORE_CALL_8| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5| Int) (v_arrayElimCell_45 Int)) (let ((.cse8 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|))) (and (= (select |v_#valid_BEFORE_CALL_8| v_arrayElimCell_45) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|) 0) (= (select |v_#valid_BEFORE_CALL_8| .cse8) 0) (= (select |v_#valid_BEFORE_CALL_9| .cse8) 1) (= (let ((.cse9 (@diff |v_#valid_BEFORE_CALL_8| |v_#valid_BEFORE_CALL_9|))) (store |v_#valid_BEFORE_CALL_8| .cse9 (select |v_#valid_BEFORE_CALL_9| .cse9))) |v_#valid_BEFORE_CALL_9|)))) (or (not (= .cse4 (select (select |c_#memory_$Pointer$#1.offset| .cse0) .cse4))) (not (= .cse5 .cse0))))))) is different from false [2025-02-05 14:41:21,360 WARN L873 $PredicateComparison]: unable to prove that (let ((.cse2 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse0 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (.cse4 (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (.cse6 (select (select |c_#memory_$Pointer$#1.base| .cse2) 0))) (let ((.cse1 (= .cse6 .cse2)) (.cse3 (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| .cse2)) (.cse5 (select (select |c_#memory_$Pointer$#1.base| .cse0) .cse4))) (and (= |c_ULTIMATE.start_main_~data~0#1| (select (select |c_#memory_int#1| .cse0) 4)) (or .cse1 (= (select (select |c_#memory_int#1| .cse2) 4) 1) .cse3) (= (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) 0) (or .cse1 (= (select (select |c_#memory_$Pointer$#1.offset| .cse2) 0) 0) .cse3) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_main_~#s~0#1.offset|) (not (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| .cse0)) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| |c_ULTIMATE.start_main_~#s~0#1.base|) (= .cse4 0) (exists ((|ULTIMATE.start_sll_circular_prepend_~last~1#1.offset| Int)) (= (select (select |c_#memory_$Pointer$#1.base| |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base|) |ULTIMATE.start_sll_circular_prepend_~last~1#1.offset|) .cse0)) (= |c_ULTIMATE.start_main_~data~0#1| 1) (not (= |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base| .cse0)) (= .cse5 |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base|) (not (= |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|)) (exists ((|v_old(#valid)_AFTER_CALL_12| (Array Int Int)) (|v_#valid_BEFORE_CALL_11| (Array Int Int))) (and (= 0 (select |v_#valid_BEFORE_CALL_11| .cse2)) (= (select |v_old(#valid)_AFTER_CALL_12| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 0) (= (select |v_old(#valid)_AFTER_CALL_12| .cse2) 1) (= (select |v_#valid_BEFORE_CALL_11| .cse6) 1) (= (let ((.cse7 (@diff |v_#valid_BEFORE_CALL_11| |v_old(#valid)_AFTER_CALL_12|))) (store |v_#valid_BEFORE_CALL_11| .cse7 (select |v_old(#valid)_AFTER_CALL_12| .cse7))) |v_old(#valid)_AFTER_CALL_12|))) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5| Int) (|v_#valid_BEFORE_CALL_9| (Array Int Int)) (|v_#valid_BEFORE_CALL_8| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5| Int) (v_arrayElimCell_45 Int)) (let ((.cse8 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|))) (and (= (select |v_#valid_BEFORE_CALL_8| v_arrayElimCell_45) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|) 0) (= (select |v_#valid_BEFORE_CALL_8| .cse8) 0) (= (select |v_#valid_BEFORE_CALL_9| .cse8) 1) (= (let ((.cse9 (@diff |v_#valid_BEFORE_CALL_8| |v_#valid_BEFORE_CALL_9|))) (store |v_#valid_BEFORE_CALL_8| .cse9 (select |v_#valid_BEFORE_CALL_9| .cse9))) |v_#valid_BEFORE_CALL_9|)))) (or (not (= .cse4 (select (select |c_#memory_$Pointer$#1.offset| .cse0) .cse4))) (not (= .cse5 .cse0))))))) is different from true [2025-02-05 14:41:21,482 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse3 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|)) (.cse4 (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse0 (select (select |c_#memory_$Pointer$#1.base| .cse3) .cse4))) (let ((.cse6 (select (select |c_#memory_$Pointer$#1.base| .cse0) 0))) (let ((.cse1 (= .cse0 .cse3)) (.cse5 (select (select |c_#memory_int#1| .cse0) 4)) (.cse2 (= .cse0 .cse6))) (and (or (= (select (select |c_#memory_$Pointer$#1.offset| .cse0) 0) 0) .cse1 .cse2) (= (select (select |c_#memory_$Pointer$#1.offset| .cse3) .cse4) 0) (= |c_ULTIMATE.start_main_~data~0#1| .cse5) (not (= .cse6 .cse3)) (= |c_ULTIMATE.start_main_~data~0#1| 1) (or (exists ((|v_#valid_BEFORE_CALL_9| (Array Int Int)) (|v_#valid_BEFORE_CALL_8| (Array Int Int)) (v_arrayElimCell_45 Int)) (and (= (select |v_#valid_BEFORE_CALL_8| v_arrayElimCell_45) 1) (= (select |v_#valid_BEFORE_CALL_9| .cse0) 1) (= (select |v_#valid_BEFORE_CALL_8| .cse0) 0) (= (let ((.cse7 (@diff |v_#valid_BEFORE_CALL_8| |v_#valid_BEFORE_CALL_9|))) (store |v_#valid_BEFORE_CALL_8| .cse7 (select |v_#valid_BEFORE_CALL_9| .cse7))) |v_#valid_BEFORE_CALL_9|))) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5| Int) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5| Int)) (and (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|) 0) (not (= |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5| |c_ULTIMATE.start_main_~#s~0#1.base|)) (exists ((|v_#valid_BEFORE_CALL_9| (Array Int Int)) (|v_#valid_BEFORE_CALL_8| (Array Int Int)) (v_arrayElimCell_45 Int)) (let ((.cse8 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|))) (and (= (select |v_#valid_BEFORE_CALL_8| v_arrayElimCell_45) 1) (= (select |v_#valid_BEFORE_CALL_8| .cse8) 0) (= (select |v_#valid_BEFORE_CALL_9| .cse8) 1) (= (let ((.cse9 (@diff |v_#valid_BEFORE_CALL_8| |v_#valid_BEFORE_CALL_9|))) (store |v_#valid_BEFORE_CALL_8| .cse9 (select |v_#valid_BEFORE_CALL_9| .cse9))) |v_#valid_BEFORE_CALL_9|)))))) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5| Int) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5| Int)) (and (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|) 0) (exists ((|v_#valid_BEFORE_CALL_9| (Array Int Int)) (|v_#valid_BEFORE_CALL_8| (Array Int Int)) (v_arrayElimCell_45 Int)) (let ((.cse10 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|))) (and (= (select |v_#valid_BEFORE_CALL_8| v_arrayElimCell_45) 1) (= (select |v_#valid_BEFORE_CALL_8| .cse10) 0) (= (select |v_#valid_BEFORE_CALL_9| .cse10) 1) (= (let ((.cse11 (@diff |v_#valid_BEFORE_CALL_8| |v_#valid_BEFORE_CALL_9|))) (store |v_#valid_BEFORE_CALL_8| .cse11 (select |v_#valid_BEFORE_CALL_9| .cse11))) |v_#valid_BEFORE_CALL_9|)))) (not (= |c_ULTIMATE.start_main_~#s~0#1.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|))))) (exists ((|v_old(#valid)_AFTER_CALL_12| (Array Int Int)) (|v_#valid_BEFORE_CALL_11| (Array Int Int))) (and (= (select |v_#valid_BEFORE_CALL_11| .cse0) 0) (= (select |v_#valid_BEFORE_CALL_11| .cse6) 1) (= (select |v_old(#valid)_AFTER_CALL_12| .cse3) 0) (= (select |v_old(#valid)_AFTER_CALL_12| .cse0) 1) (= (let ((.cse12 (@diff |v_#valid_BEFORE_CALL_11| |v_old(#valid)_AFTER_CALL_12|))) (store |v_#valid_BEFORE_CALL_11| .cse12 (select |v_old(#valid)_AFTER_CALL_12| .cse12))) |v_old(#valid)_AFTER_CALL_12|))) (or .cse1 (= .cse5 1) .cse2)))))) is different from false [2025-02-05 14:41:21,485 WARN L873 $PredicateComparison]: unable to prove that (let ((.cse3 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|)) (.cse4 (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse0 (select (select |c_#memory_$Pointer$#1.base| .cse3) .cse4))) (let ((.cse6 (select (select |c_#memory_$Pointer$#1.base| .cse0) 0))) (let ((.cse1 (= .cse0 .cse3)) (.cse5 (select (select |c_#memory_int#1| .cse0) 4)) (.cse2 (= .cse0 .cse6))) (and (or (= (select (select |c_#memory_$Pointer$#1.offset| .cse0) 0) 0) .cse1 .cse2) (= (select (select |c_#memory_$Pointer$#1.offset| .cse3) .cse4) 0) (= |c_ULTIMATE.start_main_~data~0#1| .cse5) (not (= .cse6 .cse3)) (= |c_ULTIMATE.start_main_~data~0#1| 1) (or (exists ((|v_#valid_BEFORE_CALL_9| (Array Int Int)) (|v_#valid_BEFORE_CALL_8| (Array Int Int)) (v_arrayElimCell_45 Int)) (and (= (select |v_#valid_BEFORE_CALL_8| v_arrayElimCell_45) 1) (= (select |v_#valid_BEFORE_CALL_9| .cse0) 1) (= (select |v_#valid_BEFORE_CALL_8| .cse0) 0) (= (let ((.cse7 (@diff |v_#valid_BEFORE_CALL_8| |v_#valid_BEFORE_CALL_9|))) (store |v_#valid_BEFORE_CALL_8| .cse7 (select |v_#valid_BEFORE_CALL_9| .cse7))) |v_#valid_BEFORE_CALL_9|))) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5| Int) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5| Int)) (and (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|) 0) (not (= |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5| |c_ULTIMATE.start_main_~#s~0#1.base|)) (exists ((|v_#valid_BEFORE_CALL_9| (Array Int Int)) (|v_#valid_BEFORE_CALL_8| (Array Int Int)) (v_arrayElimCell_45 Int)) (let ((.cse8 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|))) (and (= (select |v_#valid_BEFORE_CALL_8| v_arrayElimCell_45) 1) (= (select |v_#valid_BEFORE_CALL_8| .cse8) 0) (= (select |v_#valid_BEFORE_CALL_9| .cse8) 1) (= (let ((.cse9 (@diff |v_#valid_BEFORE_CALL_8| |v_#valid_BEFORE_CALL_9|))) (store |v_#valid_BEFORE_CALL_8| .cse9 (select |v_#valid_BEFORE_CALL_9| .cse9))) |v_#valid_BEFORE_CALL_9|)))))) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5| Int) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5| Int)) (and (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|) 0) (exists ((|v_#valid_BEFORE_CALL_9| (Array Int Int)) (|v_#valid_BEFORE_CALL_8| (Array Int Int)) (v_arrayElimCell_45 Int)) (let ((.cse10 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_5|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|))) (and (= (select |v_#valid_BEFORE_CALL_8| v_arrayElimCell_45) 1) (= (select |v_#valid_BEFORE_CALL_8| .cse10) 0) (= (select |v_#valid_BEFORE_CALL_9| .cse10) 1) (= (let ((.cse11 (@diff |v_#valid_BEFORE_CALL_8| |v_#valid_BEFORE_CALL_9|))) (store |v_#valid_BEFORE_CALL_8| .cse11 (select |v_#valid_BEFORE_CALL_9| .cse11))) |v_#valid_BEFORE_CALL_9|)))) (not (= |c_ULTIMATE.start_main_~#s~0#1.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_5|))))) (exists ((|v_old(#valid)_AFTER_CALL_12| (Array Int Int)) (|v_#valid_BEFORE_CALL_11| (Array Int Int))) (and (= (select |v_#valid_BEFORE_CALL_11| .cse0) 0) (= (select |v_#valid_BEFORE_CALL_11| .cse6) 1) (= (select |v_old(#valid)_AFTER_CALL_12| .cse3) 0) (= (select |v_old(#valid)_AFTER_CALL_12| .cse0) 1) (= (let ((.cse12 (@diff |v_#valid_BEFORE_CALL_11| |v_old(#valid)_AFTER_CALL_12|))) (store |v_#valid_BEFORE_CALL_11| .cse12 (select |v_old(#valid)_AFTER_CALL_12| .cse12))) |v_old(#valid)_AFTER_CALL_12|))) (or .cse1 (= .cse5 1) .cse2)))))) is different from true [2025-02-05 14:41:21,494 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse3 (select (select |c_#memory_$Pointer$#1.base| |c_ULTIMATE.start_main_~ptr~0#1.base|) |c_ULTIMATE.start_main_~ptr~0#1.offset|))) (let ((.cse5 (select (select |c_#memory_$Pointer$#1.base| .cse3) 0))) (let ((.cse1 (= .cse5 .cse3)) (.cse0 (select (select |c_#memory_int#1| .cse3) 4)) (.cse2 (= |c_ULTIMATE.start_main_~ptr~0#1.base| .cse3))) (and (= |c_ULTIMATE.start_main_~data~0#1| .cse0) (or .cse1 .cse2 (= 0 (select (select |c_#memory_$Pointer$#1.offset| .cse3) 0))) (exists ((|v_old(#valid)_AFTER_CALL_12| (Array Int Int)) (|v_#valid_BEFORE_CALL_11| (Array Int Int))) (and (= (select |v_old(#valid)_AFTER_CALL_12| .cse3) 1) (= (select |v_#valid_BEFORE_CALL_11| .cse3) 0) (= (select |v_old(#valid)_AFTER_CALL_12| |c_ULTIMATE.start_main_~ptr~0#1.base|) 0) (= (let ((.cse4 (@diff |v_#valid_BEFORE_CALL_11| |v_old(#valid)_AFTER_CALL_12|))) (store |v_#valid_BEFORE_CALL_11| .cse4 (select |v_old(#valid)_AFTER_CALL_12| .cse4))) |v_old(#valid)_AFTER_CALL_12|) (= (select |v_#valid_BEFORE_CALL_11| .cse5) 1))) (= |c_ULTIMATE.start_main_~data~0#1| 1) (= 0 (select (select |c_#memory_$Pointer$#1.offset| |c_ULTIMATE.start_main_~ptr~0#1.base|) |c_ULTIMATE.start_main_~ptr~0#1.offset|)) (or .cse1 (= .cse0 1) .cse2) (not (= |c_ULTIMATE.start_main_~ptr~0#1.base| .cse5)))))) is different from false [2025-02-05 14:41:21,495 WARN L873 $PredicateComparison]: unable to prove that (let ((.cse3 (select (select |c_#memory_$Pointer$#1.base| |c_ULTIMATE.start_main_~ptr~0#1.base|) |c_ULTIMATE.start_main_~ptr~0#1.offset|))) (let ((.cse5 (select (select |c_#memory_$Pointer$#1.base| .cse3) 0))) (let ((.cse1 (= .cse5 .cse3)) (.cse0 (select (select |c_#memory_int#1| .cse3) 4)) (.cse2 (= |c_ULTIMATE.start_main_~ptr~0#1.base| .cse3))) (and (= |c_ULTIMATE.start_main_~data~0#1| .cse0) (or .cse1 .cse2 (= 0 (select (select |c_#memory_$Pointer$#1.offset| .cse3) 0))) (exists ((|v_old(#valid)_AFTER_CALL_12| (Array Int Int)) (|v_#valid_BEFORE_CALL_11| (Array Int Int))) (and (= (select |v_old(#valid)_AFTER_CALL_12| .cse3) 1) (= (select |v_#valid_BEFORE_CALL_11| .cse3) 0) (= (select |v_old(#valid)_AFTER_CALL_12| |c_ULTIMATE.start_main_~ptr~0#1.base|) 0) (= (let ((.cse4 (@diff |v_#valid_BEFORE_CALL_11| |v_old(#valid)_AFTER_CALL_12|))) (store |v_#valid_BEFORE_CALL_11| .cse4 (select |v_old(#valid)_AFTER_CALL_12| .cse4))) |v_old(#valid)_AFTER_CALL_12|) (= (select |v_#valid_BEFORE_CALL_11| .cse5) 1))) (= |c_ULTIMATE.start_main_~data~0#1| 1) (= 0 (select (select |c_#memory_$Pointer$#1.offset| |c_ULTIMATE.start_main_~ptr~0#1.base|) |c_ULTIMATE.start_main_~ptr~0#1.offset|)) (or .cse1 (= .cse0 1) .cse2) (not (= |c_ULTIMATE.start_main_~ptr~0#1.base| .cse5)))))) is different from true [2025-02-05 14:41:21,503 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse0 (select (select |c_#memory_int#1| |c_ULTIMATE.start_main_~ptr~0#1.base|) 4))) (and (= |c_ULTIMATE.start_main_~ptr~0#1.offset| 0) (= .cse0 1) (exists ((v_arrayElimCell_72 Int) (|v_ULTIMATE.start_main_~ptr~0#1.base_14| Int) (|v_old(#valid)_AFTER_CALL_12| (Array Int Int)) (|v_#valid_BEFORE_CALL_11| (Array Int Int))) (and (= (select |v_#valid_BEFORE_CALL_11| v_arrayElimCell_72) 1) (= (select |v_old(#valid)_AFTER_CALL_12| |v_ULTIMATE.start_main_~ptr~0#1.base_14|) 0) (= (select |v_old(#valid)_AFTER_CALL_12| |c_ULTIMATE.start_main_~ptr~0#1.base|) 1) (= (let ((.cse1 (@diff |v_#valid_BEFORE_CALL_11| |v_old(#valid)_AFTER_CALL_12|))) (store |v_#valid_BEFORE_CALL_11| .cse1 (select |v_old(#valid)_AFTER_CALL_12| .cse1))) |v_old(#valid)_AFTER_CALL_12|) (= (select |v_#valid_BEFORE_CALL_11| |c_ULTIMATE.start_main_~ptr~0#1.base|) 0))) (= |c_ULTIMATE.start_main_~data~0#1| 1) (= |c_ULTIMATE.start_main_~data~0#1| .cse0))) is different from false [2025-02-05 14:41:21,504 WARN L873 $PredicateComparison]: unable to prove that (let ((.cse0 (select (select |c_#memory_int#1| |c_ULTIMATE.start_main_~ptr~0#1.base|) 4))) (and (= |c_ULTIMATE.start_main_~ptr~0#1.offset| 0) (= .cse0 1) (exists ((v_arrayElimCell_72 Int) (|v_ULTIMATE.start_main_~ptr~0#1.base_14| Int) (|v_old(#valid)_AFTER_CALL_12| (Array Int Int)) (|v_#valid_BEFORE_CALL_11| (Array Int Int))) (and (= (select |v_#valid_BEFORE_CALL_11| v_arrayElimCell_72) 1) (= (select |v_old(#valid)_AFTER_CALL_12| |v_ULTIMATE.start_main_~ptr~0#1.base_14|) 0) (= (select |v_old(#valid)_AFTER_CALL_12| |c_ULTIMATE.start_main_~ptr~0#1.base|) 1) (= (let ((.cse1 (@diff |v_#valid_BEFORE_CALL_11| |v_old(#valid)_AFTER_CALL_12|))) (store |v_#valid_BEFORE_CALL_11| .cse1 (select |v_old(#valid)_AFTER_CALL_12| .cse1))) |v_old(#valid)_AFTER_CALL_12|) (= (select |v_#valid_BEFORE_CALL_11| |c_ULTIMATE.start_main_~ptr~0#1.base|) 0))) (= |c_ULTIMATE.start_main_~data~0#1| 1) (= |c_ULTIMATE.start_main_~data~0#1| .cse0))) is different from true [2025-02-05 14:41:21,604 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-02-05 14:41:21,604 INFO L93 Difference]: Finished difference Result 63 states and 73 transitions. [2025-02-05 14:41:21,604 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2025-02-05 14:41:21,605 INFO L78 Accepts]: Start accepts. Automaton has has 48 states, 44 states have (on average 1.2727272727272727) internal successors, (56), 39 states have internal predecessors, (56), 6 states have call successors, (6), 4 states have call predecessors, (6), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Word has length 37 [2025-02-05 14:41:21,605 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2025-02-05 14:41:21,605 INFO L225 Difference]: With dead ends: 63 [2025-02-05 14:41:21,605 INFO L226 Difference]: Without dead ends: 61 [2025-02-05 14:41:21,607 INFO L434 NwaCegarLoop]: 0 DeclaredPredicates, 93 GetRequests, 17 SyntacticMatches, 1 SemanticMatches, 75 ConstructedPredicates, 34 IntricatePredicates, 0 DeprecatedPredicates, 323 ImplicationChecksByTransitivity, 1.8s TimeCoverageRelationStatistics Valid=186, Invalid=1687, Unknown=69, NotChecked=3910, Total=5852 [2025-02-05 14:41:21,607 INFO L435 NwaCegarLoop]: 25 mSDtfsCounter, 0 mSDsluCounter, 274 mSDsCounter, 0 mSdLazyCounter, 324 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 299 SdHoareTripleChecker+Invalid, 1904 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 324 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 1569 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2025-02-05 14:41:21,607 INFO L436 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 299 Invalid, 1904 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 324 Invalid, 0 Unknown, 1569 Unchecked, 0.2s Time] [2025-02-05 14:41:21,607 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 61 states. [2025-02-05 14:41:21,613 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 61 to 61. [2025-02-05 14:41:21,614 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 61 states, 52 states have (on average 1.1730769230769231) internal successors, (61), 52 states have internal predecessors, (61), 5 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2025-02-05 14:41:21,614 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 71 transitions. [2025-02-05 14:41:21,614 INFO L78 Accepts]: Start accepts. Automaton has 61 states and 71 transitions. Word has length 37 [2025-02-05 14:41:21,614 INFO L84 Accepts]: Finished accepts. word is rejected. [2025-02-05 14:41:21,614 INFO L471 AbstractCegarLoop]: Abstraction has 61 states and 71 transitions. [2025-02-05 14:41:21,614 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 48 states, 44 states have (on average 1.2727272727272727) internal successors, (56), 39 states have internal predecessors, (56), 6 states have call successors, (6), 4 states have call predecessors, (6), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2025-02-05 14:41:21,614 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 71 transitions. [2025-02-05 14:41:21,615 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2025-02-05 14:41:21,615 INFO L210 NwaCegarLoop]: Found error trace [2025-02-05 14:41:21,615 INFO L218 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-02-05 14:41:21,622 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2025-02-05 14:41:21,815 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-02-05 14:41:21,816 INFO L396 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-02-05 14:41:21,816 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-05 14:41:21,816 INFO L85 PathProgramCache]: Analyzing trace with hash 1149975922, now seen corresponding path program 2 times [2025-02-05 14:41:21,816 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-05 14:41:21,816 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [392377231] [2025-02-05 14:41:21,816 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-02-05 14:41:21,816 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-05 14:41:21,829 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 37 statements into 2 equivalence classes. [2025-02-05 14:41:21,844 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 37 of 37 statements. [2025-02-05 14:41:21,844 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-02-05 14:41:21,845 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-05 14:41:22,822 INFO L134 CoverageAnalysis]: Checked inductivity of 22 backedges. 11 proven. 11 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-02-05 14:41:22,822 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-02-05 14:41:22,822 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [392377231] [2025-02-05 14:41:22,823 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [392377231] provided 0 perfect and 1 imperfect interpolant sequences [2025-02-05 14:41:22,823 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [237158009] [2025-02-05 14:41:22,823 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-02-05 14:41:22,823 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-02-05 14:41:22,823 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-05 14:41:22,826 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-02-05 14:41:22,827 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2025-02-05 14:41:22,935 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 37 statements into 2 equivalence classes. [2025-02-05 14:41:22,990 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 37 of 37 statements. [2025-02-05 14:41:22,991 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-02-05 14:41:22,991 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-05 14:41:22,993 INFO L256 TraceCheckSpWp]: Trace formula consists of 364 conjuncts, 149 conjuncts are in the unsatisfiable core [2025-02-05 14:41:23,000 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-02-05 14:41:23,003 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 6 treesize of output 5 [2025-02-05 14:41:23,072 WARN L851 $PredicateComparison]: unable to prove that (and (= |c_ULTIMATE.start_sll_circular_create_#t~ret5#1.offset| 0) (exists ((|v_old(#valid)_AFTER_CALL_14| (Array Int Int))) (and (= |c_#valid| (let ((.cse0 (@diff |v_old(#valid)_AFTER_CALL_14| |c_#valid|))) (store |v_old(#valid)_AFTER_CALL_14| .cse0 (select |c_#valid| .cse0)))) (= 1 (select |v_old(#valid)_AFTER_CALL_14| |c_ULTIMATE.start_sll_circular_create_~last~0#1.base|)) (= (select |v_old(#valid)_AFTER_CALL_14| |c_ULTIMATE.start_sll_circular_create_#t~ret5#1.base|) 0))) (= (select |c_#valid| |c_ULTIMATE.start_sll_circular_create_#t~ret5#1.base|) 1) (= |c_ULTIMATE.start_sll_circular_create_~last~0#1.offset| 0) (= |c_ULTIMATE.start_sll_circular_create_~head~0#1.offset| 0) (= |c_ULTIMATE.start_sll_circular_create_~head~0#1.base| |c_ULTIMATE.start_sll_circular_create_~last~0#1.base|)) is different from false [2025-02-05 14:41:23,074 WARN L873 $PredicateComparison]: unable to prove that (and (= |c_ULTIMATE.start_sll_circular_create_#t~ret5#1.offset| 0) (exists ((|v_old(#valid)_AFTER_CALL_14| (Array Int Int))) (and (= |c_#valid| (let ((.cse0 (@diff |v_old(#valid)_AFTER_CALL_14| |c_#valid|))) (store |v_old(#valid)_AFTER_CALL_14| .cse0 (select |c_#valid| .cse0)))) (= 1 (select |v_old(#valid)_AFTER_CALL_14| |c_ULTIMATE.start_sll_circular_create_~last~0#1.base|)) (= (select |v_old(#valid)_AFTER_CALL_14| |c_ULTIMATE.start_sll_circular_create_#t~ret5#1.base|) 0))) (= (select |c_#valid| |c_ULTIMATE.start_sll_circular_create_#t~ret5#1.base|) 1) (= |c_ULTIMATE.start_sll_circular_create_~last~0#1.offset| 0) (= |c_ULTIMATE.start_sll_circular_create_~head~0#1.offset| 0) (= |c_ULTIMATE.start_sll_circular_create_~head~0#1.base| |c_ULTIMATE.start_sll_circular_create_~last~0#1.base|)) is different from true [2025-02-05 14:41:23,088 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 [2025-02-05 14:41:23,091 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 [2025-02-05 14:41:23,095 WARN L851 $PredicateComparison]: unable to prove that (and (= |c_ULTIMATE.start_sll_circular_create_~last~0#1.base| (select (select |c_#memory_$Pointer$#1.base| |c_ULTIMATE.start_sll_circular_create_~head~0#1.base|) 0)) (= (select (select |c_#memory_$Pointer$#1.offset| |c_ULTIMATE.start_sll_circular_create_~head~0#1.base|) 0) 0) (= |c_ULTIMATE.start_sll_circular_create_~last~0#1.offset| 0) (= (select |c_#valid| |c_ULTIMATE.start_sll_circular_create_~head~0#1.base|) 1) (= |c_ULTIMATE.start_sll_circular_create_~head~0#1.offset| 0) (exists ((|v_old(#valid)_AFTER_CALL_14| (Array Int Int))) (and (= (select |v_old(#valid)_AFTER_CALL_14| |c_ULTIMATE.start_sll_circular_create_~head~0#1.base|) 0) (= |c_#valid| (let ((.cse0 (@diff |v_old(#valid)_AFTER_CALL_14| |c_#valid|))) (store |v_old(#valid)_AFTER_CALL_14| .cse0 (select |c_#valid| .cse0)))) (= 1 (select |v_old(#valid)_AFTER_CALL_14| |c_ULTIMATE.start_sll_circular_create_~last~0#1.base|))))) is different from false [2025-02-05 14:41:23,096 WARN L873 $PredicateComparison]: unable to prove that (and (= |c_ULTIMATE.start_sll_circular_create_~last~0#1.base| (select (select |c_#memory_$Pointer$#1.base| |c_ULTIMATE.start_sll_circular_create_~head~0#1.base|) 0)) (= (select (select |c_#memory_$Pointer$#1.offset| |c_ULTIMATE.start_sll_circular_create_~head~0#1.base|) 0) 0) (= |c_ULTIMATE.start_sll_circular_create_~last~0#1.offset| 0) (= (select |c_#valid| |c_ULTIMATE.start_sll_circular_create_~head~0#1.base|) 1) (= |c_ULTIMATE.start_sll_circular_create_~head~0#1.offset| 0) (exists ((|v_old(#valid)_AFTER_CALL_14| (Array Int Int))) (and (= (select |v_old(#valid)_AFTER_CALL_14| |c_ULTIMATE.start_sll_circular_create_~head~0#1.base|) 0) (= |c_#valid| (let ((.cse0 (@diff |v_old(#valid)_AFTER_CALL_14| |c_#valid|))) (store |v_old(#valid)_AFTER_CALL_14| .cse0 (select |c_#valid| .cse0)))) (= 1 (select |v_old(#valid)_AFTER_CALL_14| |c_ULTIMATE.start_sll_circular_create_~last~0#1.base|))))) is different from true [2025-02-05 14:41:23,110 INFO L349 Elim1Store]: treesize reduction 17, result has 29.2 percent of original size [2025-02-05 14:41:23,110 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 2 new quantified variables, introduced 1 case distinctions, treesize of input 45 treesize of output 31 [2025-02-05 14:41:23,126 INFO L349 Elim1Store]: treesize reduction 21, result has 38.2 percent of original size [2025-02-05 14:41:23,126 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 24 treesize of output 19 [2025-02-05 14:41:23,132 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse1 (select (select |c_#memory_$Pointer$#1.base| |c_ULTIMATE.start_sll_circular_create_#res#1.base|) 0))) (and (exists ((|v_old(#valid)_AFTER_CALL_14| (Array Int Int))) (and (= |c_#valid| (let ((.cse0 (@diff |v_old(#valid)_AFTER_CALL_14| |c_#valid|))) (store |v_old(#valid)_AFTER_CALL_14| .cse0 (select |c_#valid| .cse0)))) (= (select |v_old(#valid)_AFTER_CALL_14| |c_ULTIMATE.start_sll_circular_create_#res#1.base|) 0) (= (select |v_old(#valid)_AFTER_CALL_14| .cse1) 1))) (or (= |c_ULTIMATE.start_sll_circular_create_#res#1.base| .cse1) (= 0 (select (select |c_#memory_$Pointer$#1.offset| |c_ULTIMATE.start_sll_circular_create_#res#1.base|) 0))) (= |c_ULTIMATE.start_sll_circular_create_#res#1.offset| 0) (= (select |c_#valid| |c_ULTIMATE.start_sll_circular_create_#res#1.base|) 1) (= |c_ULTIMATE.start_sll_circular_create_#res#1.base| (select (select |c_#memory_$Pointer$#1.base| .cse1) 0)))) is different from false [2025-02-05 14:41:23,134 WARN L873 $PredicateComparison]: unable to prove that (let ((.cse1 (select (select |c_#memory_$Pointer$#1.base| |c_ULTIMATE.start_sll_circular_create_#res#1.base|) 0))) (and (exists ((|v_old(#valid)_AFTER_CALL_14| (Array Int Int))) (and (= |c_#valid| (let ((.cse0 (@diff |v_old(#valid)_AFTER_CALL_14| |c_#valid|))) (store |v_old(#valid)_AFTER_CALL_14| .cse0 (select |c_#valid| .cse0)))) (= (select |v_old(#valid)_AFTER_CALL_14| |c_ULTIMATE.start_sll_circular_create_#res#1.base|) 0) (= (select |v_old(#valid)_AFTER_CALL_14| .cse1) 1))) (or (= |c_ULTIMATE.start_sll_circular_create_#res#1.base| .cse1) (= 0 (select (select |c_#memory_$Pointer$#1.offset| |c_ULTIMATE.start_sll_circular_create_#res#1.base|) 0))) (= |c_ULTIMATE.start_sll_circular_create_#res#1.offset| 0) (= (select |c_#valid| |c_ULTIMATE.start_sll_circular_create_#res#1.base|) 1) (= |c_ULTIMATE.start_sll_circular_create_#res#1.base| (select (select |c_#memory_$Pointer$#1.base| .cse1) 0)))) is different from true [2025-02-05 14:41:23,161 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse1 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse0 (select (select |c_#memory_$Pointer$#1.base| .cse1) 0))) (and (or (= .cse0 .cse1) (= (select (select |c_#memory_$Pointer$#1.offset| .cse1) 0) 0)) (= (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) 0) (exists ((|v_old(#valid)_AFTER_CALL_14| (Array Int Int))) (and (= |c_#valid| (let ((.cse2 (@diff |v_old(#valid)_AFTER_CALL_14| |c_#valid|))) (store |v_old(#valid)_AFTER_CALL_14| .cse2 (select |c_#valid| .cse2)))) (= 1 (select |v_old(#valid)_AFTER_CALL_14| .cse0)) (= (select |v_old(#valid)_AFTER_CALL_14| .cse1) 0))) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_main_~#s~0#1.offset|) (= (select |c_#valid| .cse1) 1) (= |c_ULTIMATE.start_main_~uneq~0#1| |c_ULTIMATE.start_sll_circular_prepend_~data#1|) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| |c_ULTIMATE.start_main_~#s~0#1.base|) (= (select (select |c_#memory_$Pointer$#1.base| .cse0) 0) .cse1)))) is different from false [2025-02-05 14:41:23,162 WARN L873 $PredicateComparison]: unable to prove that (let ((.cse1 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse0 (select (select |c_#memory_$Pointer$#1.base| .cse1) 0))) (and (or (= .cse0 .cse1) (= (select (select |c_#memory_$Pointer$#1.offset| .cse1) 0) 0)) (= (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) 0) (exists ((|v_old(#valid)_AFTER_CALL_14| (Array Int Int))) (and (= |c_#valid| (let ((.cse2 (@diff |v_old(#valid)_AFTER_CALL_14| |c_#valid|))) (store |v_old(#valid)_AFTER_CALL_14| .cse2 (select |c_#valid| .cse2)))) (= 1 (select |v_old(#valid)_AFTER_CALL_14| .cse0)) (= (select |v_old(#valid)_AFTER_CALL_14| .cse1) 0))) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_main_~#s~0#1.offset|) (= (select |c_#valid| .cse1) 1) (= |c_ULTIMATE.start_main_~uneq~0#1| |c_ULTIMATE.start_sll_circular_prepend_~data#1|) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| |c_ULTIMATE.start_main_~#s~0#1.base|) (= (select (select |c_#memory_$Pointer$#1.base| .cse0) 0) .cse1)))) is different from true [2025-02-05 14:41:23,199 INFO L349 Elim1Store]: treesize reduction 11, result has 8.3 percent of original size [2025-02-05 14:41:23,199 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 3 new quantified variables, introduced 1 case distinctions, treesize of input 60 treesize of output 35 [2025-02-05 14:41:23,203 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 19 treesize of output 11 [2025-02-05 14:41:23,220 WARN L851 $PredicateComparison]: unable to prove that (and (= |c_#valid| |c_old(#valid)|) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6| Int) (|v_#valid_BEFORE_CALL_14| (Array Int Int)) (|v_old(#valid)_AFTER_CALL_14| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6| Int) (v_arrayElimIndex_8 Int)) (let ((.cse0 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|))) (and (= (select |v_#valid_BEFORE_CALL_14| .cse0) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|) 0) (= (select |v_old(#valid)_AFTER_CALL_14| .cse0) 0) (= (select |v_old(#valid)_AFTER_CALL_14| v_arrayElimIndex_8) 1) (= |v_#valid_BEFORE_CALL_14| (let ((.cse1 (@diff |v_old(#valid)_AFTER_CALL_14| |v_#valid_BEFORE_CALL_14|))) (store |v_old(#valid)_AFTER_CALL_14| .cse1 (select |v_#valid_BEFORE_CALL_14| .cse1))))))) (= |c_#memory_$Pointer$#1.offset| |c_old(#memory_$Pointer$#1.offset)|) (= |c_#memory_$Pointer$#1.base| |c_old(#memory_$Pointer$#1.base)|)) is different from false [2025-02-05 14:41:23,221 WARN L873 $PredicateComparison]: unable to prove that (and (= |c_#valid| |c_old(#valid)|) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6| Int) (|v_#valid_BEFORE_CALL_14| (Array Int Int)) (|v_old(#valid)_AFTER_CALL_14| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6| Int) (v_arrayElimIndex_8 Int)) (let ((.cse0 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|))) (and (= (select |v_#valid_BEFORE_CALL_14| .cse0) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|) 0) (= (select |v_old(#valid)_AFTER_CALL_14| .cse0) 0) (= (select |v_old(#valid)_AFTER_CALL_14| v_arrayElimIndex_8) 1) (= |v_#valid_BEFORE_CALL_14| (let ((.cse1 (@diff |v_old(#valid)_AFTER_CALL_14| |v_#valid_BEFORE_CALL_14|))) (store |v_old(#valid)_AFTER_CALL_14| .cse1 (select |v_#valid_BEFORE_CALL_14| .cse1))))))) (= |c_#memory_$Pointer$#1.offset| |c_old(#memory_$Pointer$#1.offset)|) (= |c_#memory_$Pointer$#1.base| |c_old(#memory_$Pointer$#1.base)|)) is different from true [2025-02-05 14:41:23,243 WARN L851 $PredicateComparison]: unable to prove that (and (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6| Int) (|v_old(#valid)_AFTER_CALL_14| (Array Int Int)) (|v_#valid_BEFORE_CALL_14| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6| Int) (v_arrayElimIndex_8 Int)) (let ((.cse0 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|))) (and (= (select |v_#valid_BEFORE_CALL_14| .cse0) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|) 0) (= (select |v_old(#valid)_AFTER_CALL_14| .cse0) 0) (= (select |v_old(#valid)_AFTER_CALL_14| v_arrayElimIndex_8) 1) (= |v_#valid_BEFORE_CALL_14| (let ((.cse1 (@diff |v_old(#valid)_AFTER_CALL_14| |v_#valid_BEFORE_CALL_14|))) (store |v_old(#valid)_AFTER_CALL_14| .cse1 (select |v_#valid_BEFORE_CALL_14| .cse1))))))) (= |c_#memory_$Pointer$#1.offset| |c_old(#memory_$Pointer$#1.offset)|) (= |c_node_create_#in~data#1| |c_node_create_~data#1|) (= |c_node_create_~temp~0#1.offset| 0) (= (select |c_old(#valid)| |c_node_create_~temp~0#1.base|) 0) (= |c_#memory_$Pointer$#1.base| |c_old(#memory_$Pointer$#1.base)|)) is different from false [2025-02-05 14:41:23,244 WARN L873 $PredicateComparison]: unable to prove that (and (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6| Int) (|v_old(#valid)_AFTER_CALL_14| (Array Int Int)) (|v_#valid_BEFORE_CALL_14| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6| Int) (v_arrayElimIndex_8 Int)) (let ((.cse0 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|))) (and (= (select |v_#valid_BEFORE_CALL_14| .cse0) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|) 0) (= (select |v_old(#valid)_AFTER_CALL_14| .cse0) 0) (= (select |v_old(#valid)_AFTER_CALL_14| v_arrayElimIndex_8) 1) (= |v_#valid_BEFORE_CALL_14| (let ((.cse1 (@diff |v_old(#valid)_AFTER_CALL_14| |v_#valid_BEFORE_CALL_14|))) (store |v_old(#valid)_AFTER_CALL_14| .cse1 (select |v_#valid_BEFORE_CALL_14| .cse1))))))) (= |c_#memory_$Pointer$#1.offset| |c_old(#memory_$Pointer$#1.offset)|) (= |c_node_create_#in~data#1| |c_node_create_~data#1|) (= |c_node_create_~temp~0#1.offset| 0) (= (select |c_old(#valid)| |c_node_create_~temp~0#1.base|) 0) (= |c_#memory_$Pointer$#1.base| |c_old(#memory_$Pointer$#1.base)|)) is different from true [2025-02-05 14:41:23,273 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 [2025-02-05 14:41:23,307 WARN L851 $PredicateComparison]: unable to prove that (and (= |c_node_create_#res#1.offset| 0) (= (select |c_old(#valid)| |c_node_create_#res#1.base|) 0) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6| Int) (|v_old(#valid)_AFTER_CALL_14| (Array Int Int)) (|v_#valid_BEFORE_CALL_14| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6| Int) (v_arrayElimIndex_8 Int)) (let ((.cse0 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|))) (and (= (select |v_#valid_BEFORE_CALL_14| .cse0) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|) 0) (= (select |v_old(#valid)_AFTER_CALL_14| .cse0) 0) (= (select |v_old(#valid)_AFTER_CALL_14| v_arrayElimIndex_8) 1) (= |v_#valid_BEFORE_CALL_14| (let ((.cse1 (@diff |v_old(#valid)_AFTER_CALL_14| |v_#valid_BEFORE_CALL_14|))) (store |v_old(#valid)_AFTER_CALL_14| .cse1 (select |v_#valid_BEFORE_CALL_14| .cse1))))))) (= |c_node_create_#in~data#1| (select (select |c_#memory_int#1| |c_node_create_#res#1.base|) 4)) (= |c_#memory_$Pointer$#1.base| (store |c_old(#memory_$Pointer$#1.base)| |c_node_create_#res#1.base| (select |c_#memory_$Pointer$#1.base| |c_node_create_#res#1.base|))) (= |c_#memory_$Pointer$#1.offset| (store |c_old(#memory_$Pointer$#1.offset)| |c_node_create_#res#1.base| (select |c_#memory_$Pointer$#1.offset| |c_node_create_#res#1.base|)))) is different from false [2025-02-05 14:41:23,309 WARN L873 $PredicateComparison]: unable to prove that (and (= |c_node_create_#res#1.offset| 0) (= (select |c_old(#valid)| |c_node_create_#res#1.base|) 0) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6| Int) (|v_old(#valid)_AFTER_CALL_14| (Array Int Int)) (|v_#valid_BEFORE_CALL_14| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6| Int) (v_arrayElimIndex_8 Int)) (let ((.cse0 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|))) (and (= (select |v_#valid_BEFORE_CALL_14| .cse0) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|) 0) (= (select |v_old(#valid)_AFTER_CALL_14| .cse0) 0) (= (select |v_old(#valid)_AFTER_CALL_14| v_arrayElimIndex_8) 1) (= |v_#valid_BEFORE_CALL_14| (let ((.cse1 (@diff |v_old(#valid)_AFTER_CALL_14| |v_#valid_BEFORE_CALL_14|))) (store |v_old(#valid)_AFTER_CALL_14| .cse1 (select |v_#valid_BEFORE_CALL_14| .cse1))))))) (= |c_node_create_#in~data#1| (select (select |c_#memory_int#1| |c_node_create_#res#1.base|) 4)) (= |c_#memory_$Pointer$#1.base| (store |c_old(#memory_$Pointer$#1.base)| |c_node_create_#res#1.base| (select |c_#memory_$Pointer$#1.base| |c_node_create_#res#1.base|))) (= |c_#memory_$Pointer$#1.offset| (store |c_old(#memory_$Pointer$#1.offset)| |c_node_create_#res#1.base| (select |c_#memory_$Pointer$#1.offset| |c_node_create_#res#1.base|)))) is different from true [2025-02-05 14:41:23,351 INFO L190 IndexEqualityManager]: detected not equals via solver [2025-02-05 14:41:23,362 INFO L349 Elim1Store]: treesize reduction 29, result has 14.7 percent of original size [2025-02-05 14:41:23,362 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 2 case distinctions, treesize of input 68 treesize of output 57 [2025-02-05 14:41:23,376 INFO L349 Elim1Store]: treesize reduction 21, result has 44.7 percent of original size [2025-02-05 14:41:23,377 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 36 treesize of output 39 [2025-02-05 14:41:23,423 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse3 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse2 (select (select |c_#memory_$Pointer$#1.base| .cse3) 0))) (and (= |c_ULTIMATE.start_sll_circular_prepend_#t~ret9#1.offset| 0) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6| Int) (|v_old(#valid)_AFTER_CALL_14| (Array Int Int)) (|v_#valid_BEFORE_CALL_14| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6| Int) (v_arrayElimIndex_8 Int)) (let ((.cse0 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|))) (and (= (select |v_#valid_BEFORE_CALL_14| .cse0) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|) 0) (= (select |v_old(#valid)_AFTER_CALL_14| .cse0) 0) (= (select |v_old(#valid)_AFTER_CALL_14| v_arrayElimIndex_8) 1) (= |v_#valid_BEFORE_CALL_14| (let ((.cse1 (@diff |v_old(#valid)_AFTER_CALL_14| |v_#valid_BEFORE_CALL_14|))) (store |v_old(#valid)_AFTER_CALL_14| .cse1 (select |v_#valid_BEFORE_CALL_14| .cse1))))))) (= (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) 0) (exists ((|v_old(#valid)_AFTER_CALL_16| (Array Int Int)) (|v_#valid_BEFORE_CALL_15| (Array Int Int))) (and (= (select |v_old(#valid)_AFTER_CALL_16| .cse2) 1) (= (select |v_old(#valid)_AFTER_CALL_16| .cse3) 0) (= (select |v_#valid_BEFORE_CALL_15| .cse3) 1) (= |v_#valid_BEFORE_CALL_15| (let ((.cse4 (@diff |v_old(#valid)_AFTER_CALL_16| |v_#valid_BEFORE_CALL_15|))) (store |v_old(#valid)_AFTER_CALL_16| .cse4 (select |v_#valid_BEFORE_CALL_15| .cse4)))) (= (select |v_#valid_BEFORE_CALL_15| |c_ULTIMATE.start_sll_circular_prepend_#t~ret9#1.base|) 0))) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_main_~#s~0#1.offset|) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| |c_ULTIMATE.start_main_~#s~0#1.base|) (= |c_ULTIMATE.start_main_~uneq~0#1| (select (select |c_#memory_int#1| |c_ULTIMATE.start_sll_circular_prepend_#t~ret9#1.base|) 4)) (or (= .cse2 .cse3) (= (select (select |c_#memory_$Pointer$#1.offset| .cse3) 0) 0) (= |c_ULTIMATE.start_sll_circular_prepend_#t~ret9#1.base| .cse3)) (= (select (select |c_#memory_$Pointer$#1.base| .cse2) 0) .cse3)))) is different from false [2025-02-05 14:41:23,425 WARN L873 $PredicateComparison]: unable to prove that (let ((.cse3 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse2 (select (select |c_#memory_$Pointer$#1.base| .cse3) 0))) (and (= |c_ULTIMATE.start_sll_circular_prepend_#t~ret9#1.offset| 0) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6| Int) (|v_old(#valid)_AFTER_CALL_14| (Array Int Int)) (|v_#valid_BEFORE_CALL_14| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6| Int) (v_arrayElimIndex_8 Int)) (let ((.cse0 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|))) (and (= (select |v_#valid_BEFORE_CALL_14| .cse0) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|) 0) (= (select |v_old(#valid)_AFTER_CALL_14| .cse0) 0) (= (select |v_old(#valid)_AFTER_CALL_14| v_arrayElimIndex_8) 1) (= |v_#valid_BEFORE_CALL_14| (let ((.cse1 (@diff |v_old(#valid)_AFTER_CALL_14| |v_#valid_BEFORE_CALL_14|))) (store |v_old(#valid)_AFTER_CALL_14| .cse1 (select |v_#valid_BEFORE_CALL_14| .cse1))))))) (= (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) 0) (exists ((|v_old(#valid)_AFTER_CALL_16| (Array Int Int)) (|v_#valid_BEFORE_CALL_15| (Array Int Int))) (and (= (select |v_old(#valid)_AFTER_CALL_16| .cse2) 1) (= (select |v_old(#valid)_AFTER_CALL_16| .cse3) 0) (= (select |v_#valid_BEFORE_CALL_15| .cse3) 1) (= |v_#valid_BEFORE_CALL_15| (let ((.cse4 (@diff |v_old(#valid)_AFTER_CALL_16| |v_#valid_BEFORE_CALL_15|))) (store |v_old(#valid)_AFTER_CALL_16| .cse4 (select |v_#valid_BEFORE_CALL_15| .cse4)))) (= (select |v_#valid_BEFORE_CALL_15| |c_ULTIMATE.start_sll_circular_prepend_#t~ret9#1.base|) 0))) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_main_~#s~0#1.offset|) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| |c_ULTIMATE.start_main_~#s~0#1.base|) (= |c_ULTIMATE.start_main_~uneq~0#1| (select (select |c_#memory_int#1| |c_ULTIMATE.start_sll_circular_prepend_#t~ret9#1.base|) 4)) (or (= .cse2 .cse3) (= (select (select |c_#memory_$Pointer$#1.offset| .cse3) 0) 0) (= |c_ULTIMATE.start_sll_circular_prepend_#t~ret9#1.base| .cse3)) (= (select (select |c_#memory_$Pointer$#1.base| .cse2) 0) .cse3)))) is different from true [2025-02-05 14:41:23,482 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse3 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse2 (select (select |c_#memory_$Pointer$#1.base| .cse3) 0))) (and (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6| Int) (|v_old(#valid)_AFTER_CALL_14| (Array Int Int)) (|v_#valid_BEFORE_CALL_14| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6| Int) (v_arrayElimIndex_8 Int)) (let ((.cse0 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|))) (and (= (select |v_#valid_BEFORE_CALL_14| .cse0) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|) 0) (= (select |v_old(#valid)_AFTER_CALL_14| .cse0) 0) (= (select |v_old(#valid)_AFTER_CALL_14| v_arrayElimIndex_8) 1) (= |v_#valid_BEFORE_CALL_14| (let ((.cse1 (@diff |v_old(#valid)_AFTER_CALL_14| |v_#valid_BEFORE_CALL_14|))) (store |v_old(#valid)_AFTER_CALL_14| .cse1 (select |v_#valid_BEFORE_CALL_14| .cse1))))))) (= (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) 0) (exists ((|v_old(#valid)_AFTER_CALL_16| (Array Int Int)) (|v_#valid_BEFORE_CALL_15| (Array Int Int))) (and (= (select |v_old(#valid)_AFTER_CALL_16| .cse2) 1) (= (select |v_old(#valid)_AFTER_CALL_16| .cse3) 0) (= (select |v_#valid_BEFORE_CALL_15| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 0) (= (select |v_#valid_BEFORE_CALL_15| .cse3) 1) (= |v_#valid_BEFORE_CALL_15| (let ((.cse4 (@diff |v_old(#valid)_AFTER_CALL_16| |v_#valid_BEFORE_CALL_15|))) (store |v_old(#valid)_AFTER_CALL_16| .cse4 (select |v_#valid_BEFORE_CALL_15| .cse4)))))) (or (= .cse2 .cse3) (= (select (select |c_#memory_$Pointer$#1.offset| .cse3) 0) 0) (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| .cse3)) (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.offset| 0) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_main_~#s~0#1.offset|) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| |c_ULTIMATE.start_main_~#s~0#1.base|) (= |c_ULTIMATE.start_main_~uneq~0#1| (select (select |c_#memory_int#1| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 4)) (= (select (select |c_#memory_$Pointer$#1.base| .cse2) 0) .cse3)))) is different from false [2025-02-05 14:41:23,485 WARN L873 $PredicateComparison]: unable to prove that (let ((.cse3 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse2 (select (select |c_#memory_$Pointer$#1.base| .cse3) 0))) (and (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6| Int) (|v_old(#valid)_AFTER_CALL_14| (Array Int Int)) (|v_#valid_BEFORE_CALL_14| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6| Int) (v_arrayElimIndex_8 Int)) (let ((.cse0 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|))) (and (= (select |v_#valid_BEFORE_CALL_14| .cse0) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|) 0) (= (select |v_old(#valid)_AFTER_CALL_14| .cse0) 0) (= (select |v_old(#valid)_AFTER_CALL_14| v_arrayElimIndex_8) 1) (= |v_#valid_BEFORE_CALL_14| (let ((.cse1 (@diff |v_old(#valid)_AFTER_CALL_14| |v_#valid_BEFORE_CALL_14|))) (store |v_old(#valid)_AFTER_CALL_14| .cse1 (select |v_#valid_BEFORE_CALL_14| .cse1))))))) (= (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) 0) (exists ((|v_old(#valid)_AFTER_CALL_16| (Array Int Int)) (|v_#valid_BEFORE_CALL_15| (Array Int Int))) (and (= (select |v_old(#valid)_AFTER_CALL_16| .cse2) 1) (= (select |v_old(#valid)_AFTER_CALL_16| .cse3) 0) (= (select |v_#valid_BEFORE_CALL_15| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 0) (= (select |v_#valid_BEFORE_CALL_15| .cse3) 1) (= |v_#valid_BEFORE_CALL_15| (let ((.cse4 (@diff |v_old(#valid)_AFTER_CALL_16| |v_#valid_BEFORE_CALL_15|))) (store |v_old(#valid)_AFTER_CALL_16| .cse4 (select |v_#valid_BEFORE_CALL_15| .cse4)))))) (or (= .cse2 .cse3) (= (select (select |c_#memory_$Pointer$#1.offset| .cse3) 0) 0) (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| .cse3)) (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.offset| 0) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_main_~#s~0#1.offset|) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| |c_ULTIMATE.start_main_~#s~0#1.base|) (= |c_ULTIMATE.start_main_~uneq~0#1| (select (select |c_#memory_int#1| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 4)) (= (select (select |c_#memory_$Pointer$#1.base| .cse2) 0) .cse3)))) is different from true [2025-02-05 14:41:23,553 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse3 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse2 (select (select |c_#memory_$Pointer$#1.base| .cse3) 0))) (and (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6| Int) (|v_old(#valid)_AFTER_CALL_14| (Array Int Int)) (|v_#valid_BEFORE_CALL_14| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6| Int) (v_arrayElimIndex_8 Int)) (let ((.cse0 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|))) (and (= (select |v_#valid_BEFORE_CALL_14| .cse0) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|) 0) (= (select |v_old(#valid)_AFTER_CALL_14| .cse0) 0) (= (select |v_old(#valid)_AFTER_CALL_14| v_arrayElimIndex_8) 1) (= |v_#valid_BEFORE_CALL_14| (let ((.cse1 (@diff |v_old(#valid)_AFTER_CALL_14| |v_#valid_BEFORE_CALL_14|))) (store |v_old(#valid)_AFTER_CALL_14| .cse1 (select |v_#valid_BEFORE_CALL_14| .cse1))))))) (= (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) 0) (= |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base| (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (exists ((|v_old(#valid)_AFTER_CALL_16| (Array Int Int)) (|v_#valid_BEFORE_CALL_15| (Array Int Int))) (and (= (select |v_old(#valid)_AFTER_CALL_16| .cse2) 1) (= (select |v_old(#valid)_AFTER_CALL_16| .cse3) 0) (= (select |v_#valid_BEFORE_CALL_15| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 0) (= (select |v_#valid_BEFORE_CALL_15| .cse3) 1) (= |v_#valid_BEFORE_CALL_15| (let ((.cse4 (@diff |v_old(#valid)_AFTER_CALL_16| |v_#valid_BEFORE_CALL_15|))) (store |v_old(#valid)_AFTER_CALL_16| .cse4 (select |v_#valid_BEFORE_CALL_15| .cse4)))))) (or (= .cse2 .cse3) (= (select (select |c_#memory_$Pointer$#1.offset| .cse3) 0) 0) (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| .cse3)) (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.offset| 0) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_main_~#s~0#1.offset|) (= |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.offset| (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| |c_ULTIMATE.start_main_~#s~0#1.base|) (= |c_ULTIMATE.start_main_~uneq~0#1| (select (select |c_#memory_int#1| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 4)) (= (select (select |c_#memory_$Pointer$#1.base| .cse2) 0) .cse3)))) is different from false [2025-02-05 14:41:23,555 WARN L873 $PredicateComparison]: unable to prove that (let ((.cse3 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse2 (select (select |c_#memory_$Pointer$#1.base| .cse3) 0))) (and (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6| Int) (|v_old(#valid)_AFTER_CALL_14| (Array Int Int)) (|v_#valid_BEFORE_CALL_14| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6| Int) (v_arrayElimIndex_8 Int)) (let ((.cse0 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|))) (and (= (select |v_#valid_BEFORE_CALL_14| .cse0) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|) 0) (= (select |v_old(#valid)_AFTER_CALL_14| .cse0) 0) (= (select |v_old(#valid)_AFTER_CALL_14| v_arrayElimIndex_8) 1) (= |v_#valid_BEFORE_CALL_14| (let ((.cse1 (@diff |v_old(#valid)_AFTER_CALL_14| |v_#valid_BEFORE_CALL_14|))) (store |v_old(#valid)_AFTER_CALL_14| .cse1 (select |v_#valid_BEFORE_CALL_14| .cse1))))))) (= (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) 0) (= |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base| (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (exists ((|v_old(#valid)_AFTER_CALL_16| (Array Int Int)) (|v_#valid_BEFORE_CALL_15| (Array Int Int))) (and (= (select |v_old(#valid)_AFTER_CALL_16| .cse2) 1) (= (select |v_old(#valid)_AFTER_CALL_16| .cse3) 0) (= (select |v_#valid_BEFORE_CALL_15| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 0) (= (select |v_#valid_BEFORE_CALL_15| .cse3) 1) (= |v_#valid_BEFORE_CALL_15| (let ((.cse4 (@diff |v_old(#valid)_AFTER_CALL_16| |v_#valid_BEFORE_CALL_15|))) (store |v_old(#valid)_AFTER_CALL_16| .cse4 (select |v_#valid_BEFORE_CALL_15| .cse4)))))) (or (= .cse2 .cse3) (= (select (select |c_#memory_$Pointer$#1.offset| .cse3) 0) 0) (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| .cse3)) (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.offset| 0) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_main_~#s~0#1.offset|) (= |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.offset| (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| |c_ULTIMATE.start_main_~#s~0#1.base|) (= |c_ULTIMATE.start_main_~uneq~0#1| (select (select |c_#memory_int#1| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 4)) (= (select (select |c_#memory_$Pointer$#1.base| .cse2) 0) .cse3)))) is different from true [2025-02-05 14:41:23,630 INFO L173 IndexEqualityManager]: detected equality via solver [2025-02-05 14:41:23,630 INFO L173 IndexEqualityManager]: detected equality via solver [2025-02-05 14:41:23,630 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 1 new quantified variables, introduced 0 case distinctions, treesize of input 50 treesize of output 30 [2025-02-05 14:41:23,667 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse3 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse2 (select (select |c_#memory_$Pointer$#1.base| .cse3) 0))) (and (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6| Int) (|v_old(#valid)_AFTER_CALL_14| (Array Int Int)) (|v_#valid_BEFORE_CALL_14| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6| Int) (v_arrayElimIndex_8 Int)) (let ((.cse0 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|))) (and (= (select |v_#valid_BEFORE_CALL_14| .cse0) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|) 0) (= (select |v_old(#valid)_AFTER_CALL_14| .cse0) 0) (= (select |v_old(#valid)_AFTER_CALL_14| v_arrayElimIndex_8) 1) (= |v_#valid_BEFORE_CALL_14| (let ((.cse1 (@diff |v_old(#valid)_AFTER_CALL_14| |v_#valid_BEFORE_CALL_14|))) (store |v_old(#valid)_AFTER_CALL_14| .cse1 (select |v_#valid_BEFORE_CALL_14| .cse1))))))) (= (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) 0) (exists ((|v_old(#valid)_AFTER_CALL_16| (Array Int Int)) (|v_#valid_BEFORE_CALL_15| (Array Int Int))) (and (= (select |v_old(#valid)_AFTER_CALL_16| .cse2) 1) (= (select |v_old(#valid)_AFTER_CALL_16| .cse3) 0) (= (select |v_#valid_BEFORE_CALL_15| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 0) (= (select |v_#valid_BEFORE_CALL_15| .cse3) 1) (= |v_#valid_BEFORE_CALL_15| (let ((.cse4 (@diff |v_old(#valid)_AFTER_CALL_16| |v_#valid_BEFORE_CALL_15|))) (store |v_old(#valid)_AFTER_CALL_16| .cse4 (select |v_#valid_BEFORE_CALL_15| .cse4)))))) (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.offset| 0) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_main_~#s~0#1.offset|) (or (= |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.offset| 0) (= .cse2 .cse3) (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| .cse3)) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| |c_ULTIMATE.start_main_~#s~0#1.base|) (= (select (select |c_#memory_$Pointer$#1.base| (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base|) (= |c_ULTIMATE.start_main_~uneq~0#1| (select (select |c_#memory_int#1| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 4)) (= (select (select |c_#memory_$Pointer$#1.base| .cse2) 0) .cse3)))) is different from false [2025-02-05 14:41:23,669 WARN L873 $PredicateComparison]: unable to prove that (let ((.cse3 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse2 (select (select |c_#memory_$Pointer$#1.base| .cse3) 0))) (and (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6| Int) (|v_old(#valid)_AFTER_CALL_14| (Array Int Int)) (|v_#valid_BEFORE_CALL_14| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6| Int) (v_arrayElimIndex_8 Int)) (let ((.cse0 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|))) (and (= (select |v_#valid_BEFORE_CALL_14| .cse0) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|) 0) (= (select |v_old(#valid)_AFTER_CALL_14| .cse0) 0) (= (select |v_old(#valid)_AFTER_CALL_14| v_arrayElimIndex_8) 1) (= |v_#valid_BEFORE_CALL_14| (let ((.cse1 (@diff |v_old(#valid)_AFTER_CALL_14| |v_#valid_BEFORE_CALL_14|))) (store |v_old(#valid)_AFTER_CALL_14| .cse1 (select |v_#valid_BEFORE_CALL_14| .cse1))))))) (= (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) 0) (exists ((|v_old(#valid)_AFTER_CALL_16| (Array Int Int)) (|v_#valid_BEFORE_CALL_15| (Array Int Int))) (and (= (select |v_old(#valid)_AFTER_CALL_16| .cse2) 1) (= (select |v_old(#valid)_AFTER_CALL_16| .cse3) 0) (= (select |v_#valid_BEFORE_CALL_15| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 0) (= (select |v_#valid_BEFORE_CALL_15| .cse3) 1) (= |v_#valid_BEFORE_CALL_15| (let ((.cse4 (@diff |v_old(#valid)_AFTER_CALL_16| |v_#valid_BEFORE_CALL_15|))) (store |v_old(#valid)_AFTER_CALL_16| .cse4 (select |v_#valid_BEFORE_CALL_15| .cse4)))))) (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.offset| 0) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_main_~#s~0#1.offset|) (or (= |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.offset| 0) (= .cse2 .cse3) (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| .cse3)) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| |c_ULTIMATE.start_main_~#s~0#1.base|) (= (select (select |c_#memory_$Pointer$#1.base| (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base|) (= |c_ULTIMATE.start_main_~uneq~0#1| (select (select |c_#memory_int#1| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 4)) (= (select (select |c_#memory_$Pointer$#1.base| .cse2) 0) .cse3)))) is different from true [2025-02-05 14:41:23,734 INFO L173 IndexEqualityManager]: detected equality via solver [2025-02-05 14:41:23,734 INFO L173 IndexEqualityManager]: detected equality via solver [2025-02-05 14:41:23,744 INFO L349 Elim1Store]: treesize reduction 42, result has 6.7 percent of original size [2025-02-05 14:41:23,744 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 5 new quantified variables, introduced 5 case distinctions, treesize of input 78 treesize of output 43 [2025-02-05 14:41:23,799 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse2 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (and (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6| Int) (|v_old(#valid)_AFTER_CALL_14| (Array Int Int)) (|v_#valid_BEFORE_CALL_14| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6| Int) (v_arrayElimIndex_8 Int)) (let ((.cse0 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|))) (and (= (select |v_#valid_BEFORE_CALL_14| .cse0) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|) 0) (= (select |v_old(#valid)_AFTER_CALL_14| .cse0) 0) (= (select |v_old(#valid)_AFTER_CALL_14| v_arrayElimIndex_8) 1) (= |v_#valid_BEFORE_CALL_14| (let ((.cse1 (@diff |v_old(#valid)_AFTER_CALL_14| |v_#valid_BEFORE_CALL_14|))) (store |v_old(#valid)_AFTER_CALL_14| .cse1 (select |v_#valid_BEFORE_CALL_14| .cse1))))))) (= (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) 0) (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.offset| 0) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_main_~#s~0#1.offset|) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| |c_ULTIMATE.start_main_~#s~0#1.base|) (= |c_ULTIMATE.start_main_~uneq~0#1| (select (select |c_#memory_int#1| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 4)) (= |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base| .cse2) (exists ((|v_old(#valid)_AFTER_CALL_16| (Array Int Int)) (|v_#valid_BEFORE_CALL_15| (Array Int Int)) (v_arrayElimIndex_11 Int)) (and (= (select |v_old(#valid)_AFTER_CALL_16| v_arrayElimIndex_11) 1) (= (select |v_old(#valid)_AFTER_CALL_16| .cse2) 0) (= (select |v_#valid_BEFORE_CALL_15| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 0) (= (select |v_#valid_BEFORE_CALL_15| .cse2) 1) (= |v_#valid_BEFORE_CALL_15| (let ((.cse3 (@diff |v_old(#valid)_AFTER_CALL_16| |v_#valid_BEFORE_CALL_15|))) (store |v_old(#valid)_AFTER_CALL_16| .cse3 (select |v_#valid_BEFORE_CALL_15| .cse3)))))))) is different from false [2025-02-05 14:41:23,801 WARN L873 $PredicateComparison]: unable to prove that (let ((.cse2 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (and (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6| Int) (|v_old(#valid)_AFTER_CALL_14| (Array Int Int)) (|v_#valid_BEFORE_CALL_14| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6| Int) (v_arrayElimIndex_8 Int)) (let ((.cse0 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|))) (and (= (select |v_#valid_BEFORE_CALL_14| .cse0) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|) 0) (= (select |v_old(#valid)_AFTER_CALL_14| .cse0) 0) (= (select |v_old(#valid)_AFTER_CALL_14| v_arrayElimIndex_8) 1) (= |v_#valid_BEFORE_CALL_14| (let ((.cse1 (@diff |v_old(#valid)_AFTER_CALL_14| |v_#valid_BEFORE_CALL_14|))) (store |v_old(#valid)_AFTER_CALL_14| .cse1 (select |v_#valid_BEFORE_CALL_14| .cse1))))))) (= (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) 0) (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.offset| 0) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_main_~#s~0#1.offset|) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| |c_ULTIMATE.start_main_~#s~0#1.base|) (= |c_ULTIMATE.start_main_~uneq~0#1| (select (select |c_#memory_int#1| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 4)) (= |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base| .cse2) (exists ((|v_old(#valid)_AFTER_CALL_16| (Array Int Int)) (|v_#valid_BEFORE_CALL_15| (Array Int Int)) (v_arrayElimIndex_11 Int)) (and (= (select |v_old(#valid)_AFTER_CALL_16| v_arrayElimIndex_11) 1) (= (select |v_old(#valid)_AFTER_CALL_16| .cse2) 0) (= (select |v_#valid_BEFORE_CALL_15| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 0) (= (select |v_#valid_BEFORE_CALL_15| .cse2) 1) (= |v_#valid_BEFORE_CALL_15| (let ((.cse3 (@diff |v_old(#valid)_AFTER_CALL_16| |v_#valid_BEFORE_CALL_15|))) (store |v_old(#valid)_AFTER_CALL_16| .cse3 (select |v_#valid_BEFORE_CALL_15| .cse3)))))))) is different from true [2025-02-05 14:41:23,899 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 2 new quantified variables, introduced 0 case distinctions, treesize of input 44 treesize of output 42 [2025-02-05 14:41:23,908 INFO L190 IndexEqualityManager]: detected not equals via solver [2025-02-05 14:41:23,909 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 28 treesize of output 15 [2025-02-05 14:41:23,965 INFO L349 Elim1Store]: treesize reduction 20, result has 58.3 percent of original size [2025-02-05 14:41:23,966 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 52 treesize of output 48 [2025-02-05 14:41:23,981 INFO L349 Elim1Store]: treesize reduction 37, result has 15.9 percent of original size [2025-02-05 14:41:23,981 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 26 treesize of output 21 [2025-02-05 14:41:26,570 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse3 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (and (let ((.cse0 (exists ((|v_old(#valid)_AFTER_CALL_16| (Array Int Int)) (|v_#valid_BEFORE_CALL_15| (Array Int Int)) (v_arrayElimCell_89 Int) (v_arrayElimIndex_11 Int)) (and (= (select |v_old(#valid)_AFTER_CALL_16| v_arrayElimIndex_11) 1) (= (select |v_old(#valid)_AFTER_CALL_16| v_arrayElimCell_89) 0) (= (select |v_#valid_BEFORE_CALL_15| .cse3) 0) (= (select |v_#valid_BEFORE_CALL_15| v_arrayElimCell_89) 1) (= |v_#valid_BEFORE_CALL_15| (let ((.cse11 (@diff |v_old(#valid)_AFTER_CALL_16| |v_#valid_BEFORE_CALL_15|))) (store |v_old(#valid)_AFTER_CALL_16| .cse11 (select |v_#valid_BEFORE_CALL_15| .cse11)))))))) (or (and .cse0 (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6| Int) (|v_old(#valid)_AFTER_CALL_14| (Array Int Int)) (|v_#valid_BEFORE_CALL_14| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6| Int) (v_arrayElimIndex_8 Int)) (let ((.cse1 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|))) (and (= (select |v_#valid_BEFORE_CALL_14| .cse1) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|) 0) (= (select |v_old(#valid)_AFTER_CALL_14| .cse1) 0) (not (= |c_ULTIMATE.start_main_~#s~0#1.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|)) (= (select |v_old(#valid)_AFTER_CALL_14| v_arrayElimIndex_8) 1) (= |v_#valid_BEFORE_CALL_14| (let ((.cse2 (@diff |v_old(#valid)_AFTER_CALL_14| |v_#valid_BEFORE_CALL_14|))) (store |v_old(#valid)_AFTER_CALL_14| .cse2 (select |v_#valid_BEFORE_CALL_14| .cse2)))))))) (exists ((v_arrayElimCell_90 Int) (|v_old(#valid)_AFTER_CALL_14| (Array Int Int)) (|v_#valid_BEFORE_CALL_14| (Array Int Int)) (|v_old(#valid)_AFTER_CALL_16| (Array Int Int)) (|v_#valid_BEFORE_CALL_15| (Array Int Int)) (v_arrayElimIndex_8 Int) (v_arrayElimIndex_11 Int)) (and (= (select |v_#valid_BEFORE_CALL_14| v_arrayElimCell_90) 1) (= (select |v_old(#valid)_AFTER_CALL_14| v_arrayElimCell_90) 0) (= (select |v_old(#valid)_AFTER_CALL_16| v_arrayElimIndex_11) 1) (= (select |v_old(#valid)_AFTER_CALL_16| v_arrayElimCell_90) 0) (= (select |v_#valid_BEFORE_CALL_15| .cse3) 0) (= (select |v_old(#valid)_AFTER_CALL_14| v_arrayElimIndex_8) 1) (= |v_#valid_BEFORE_CALL_14| (let ((.cse4 (@diff |v_old(#valid)_AFTER_CALL_14| |v_#valid_BEFORE_CALL_14|))) (store |v_old(#valid)_AFTER_CALL_14| .cse4 (select |v_#valid_BEFORE_CALL_14| .cse4)))) (= (select |v_#valid_BEFORE_CALL_15| v_arrayElimCell_90) 1) (= |v_#valid_BEFORE_CALL_15| (let ((.cse5 (@diff |v_old(#valid)_AFTER_CALL_16| |v_#valid_BEFORE_CALL_15|))) (store |v_old(#valid)_AFTER_CALL_16| .cse5 (select |v_#valid_BEFORE_CALL_15| .cse5)))))) (and .cse0 (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6| Int) (|v_old(#valid)_AFTER_CALL_14| (Array Int Int)) (|v_#valid_BEFORE_CALL_14| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6| Int) (v_arrayElimIndex_8 Int)) (let ((.cse6 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|))) (and (= (select |v_#valid_BEFORE_CALL_14| .cse6) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|) 0) (not (= |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6| |c_ULTIMATE.start_main_~#s~0#1.base|)) (= (select |v_old(#valid)_AFTER_CALL_14| .cse6) 0) (= (select |v_old(#valid)_AFTER_CALL_14| v_arrayElimIndex_8) 1) (= |v_#valid_BEFORE_CALL_14| (let ((.cse7 (@diff |v_old(#valid)_AFTER_CALL_14| |v_#valid_BEFORE_CALL_14|))) (store |v_old(#valid)_AFTER_CALL_14| .cse7 (select |v_#valid_BEFORE_CALL_14| .cse7)))))))) (exists ((|v_old(#valid)_AFTER_CALL_14| (Array Int Int)) (v_arrayElimIndex_8 Int)) (and (exists ((|v_#valid_BEFORE_CALL_14| (Array Int Int))) (and (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6| Int) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6| Int)) (let ((.cse8 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|))) (and (= (select |v_#valid_BEFORE_CALL_14| .cse8) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|) 0) (= (select |v_old(#valid)_AFTER_CALL_14| .cse8) 0) (exists ((|v_#valid_BEFORE_CALL_15| (Array Int Int))) (and (= (select |v_#valid_BEFORE_CALL_15| .cse8) 1) (exists ((|v_old(#valid)_AFTER_CALL_16| (Array Int Int)) (v_arrayElimIndex_11 Int)) (and (= (select |v_old(#valid)_AFTER_CALL_16| v_arrayElimIndex_11) 1) (= |v_#valid_BEFORE_CALL_15| (let ((.cse9 (@diff |v_old(#valid)_AFTER_CALL_16| |v_#valid_BEFORE_CALL_15|))) (store |v_old(#valid)_AFTER_CALL_16| .cse9 (select |v_#valid_BEFORE_CALL_15| .cse9)))) (= (select |v_old(#valid)_AFTER_CALL_16| .cse8) 0))) (= (select |v_#valid_BEFORE_CALL_15| .cse3) 0)))))) (= |v_#valid_BEFORE_CALL_14| (let ((.cse10 (@diff |v_old(#valid)_AFTER_CALL_14| |v_#valid_BEFORE_CALL_14|))) (store |v_old(#valid)_AFTER_CALL_14| .cse10 (select |v_#valid_BEFORE_CALL_14| .cse10)))))) (= (select |v_old(#valid)_AFTER_CALL_14| v_arrayElimIndex_8) 1))))) (= (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) 0) (= (select (select |c_#memory_int#1| .cse3) 4) |c_ULTIMATE.start_main_~uneq~0#1|))) is different from false [2025-02-05 14:41:26,575 WARN L873 $PredicateComparison]: unable to prove that (let ((.cse3 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (and (let ((.cse0 (exists ((|v_old(#valid)_AFTER_CALL_16| (Array Int Int)) (|v_#valid_BEFORE_CALL_15| (Array Int Int)) (v_arrayElimCell_89 Int) (v_arrayElimIndex_11 Int)) (and (= (select |v_old(#valid)_AFTER_CALL_16| v_arrayElimIndex_11) 1) (= (select |v_old(#valid)_AFTER_CALL_16| v_arrayElimCell_89) 0) (= (select |v_#valid_BEFORE_CALL_15| .cse3) 0) (= (select |v_#valid_BEFORE_CALL_15| v_arrayElimCell_89) 1) (= |v_#valid_BEFORE_CALL_15| (let ((.cse11 (@diff |v_old(#valid)_AFTER_CALL_16| |v_#valid_BEFORE_CALL_15|))) (store |v_old(#valid)_AFTER_CALL_16| .cse11 (select |v_#valid_BEFORE_CALL_15| .cse11)))))))) (or (and .cse0 (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6| Int) (|v_old(#valid)_AFTER_CALL_14| (Array Int Int)) (|v_#valid_BEFORE_CALL_14| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6| Int) (v_arrayElimIndex_8 Int)) (let ((.cse1 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|))) (and (= (select |v_#valid_BEFORE_CALL_14| .cse1) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|) 0) (= (select |v_old(#valid)_AFTER_CALL_14| .cse1) 0) (not (= |c_ULTIMATE.start_main_~#s~0#1.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|)) (= (select |v_old(#valid)_AFTER_CALL_14| v_arrayElimIndex_8) 1) (= |v_#valid_BEFORE_CALL_14| (let ((.cse2 (@diff |v_old(#valid)_AFTER_CALL_14| |v_#valid_BEFORE_CALL_14|))) (store |v_old(#valid)_AFTER_CALL_14| .cse2 (select |v_#valid_BEFORE_CALL_14| .cse2)))))))) (exists ((v_arrayElimCell_90 Int) (|v_old(#valid)_AFTER_CALL_14| (Array Int Int)) (|v_#valid_BEFORE_CALL_14| (Array Int Int)) (|v_old(#valid)_AFTER_CALL_16| (Array Int Int)) (|v_#valid_BEFORE_CALL_15| (Array Int Int)) (v_arrayElimIndex_8 Int) (v_arrayElimIndex_11 Int)) (and (= (select |v_#valid_BEFORE_CALL_14| v_arrayElimCell_90) 1) (= (select |v_old(#valid)_AFTER_CALL_14| v_arrayElimCell_90) 0) (= (select |v_old(#valid)_AFTER_CALL_16| v_arrayElimIndex_11) 1) (= (select |v_old(#valid)_AFTER_CALL_16| v_arrayElimCell_90) 0) (= (select |v_#valid_BEFORE_CALL_15| .cse3) 0) (= (select |v_old(#valid)_AFTER_CALL_14| v_arrayElimIndex_8) 1) (= |v_#valid_BEFORE_CALL_14| (let ((.cse4 (@diff |v_old(#valid)_AFTER_CALL_14| |v_#valid_BEFORE_CALL_14|))) (store |v_old(#valid)_AFTER_CALL_14| .cse4 (select |v_#valid_BEFORE_CALL_14| .cse4)))) (= (select |v_#valid_BEFORE_CALL_15| v_arrayElimCell_90) 1) (= |v_#valid_BEFORE_CALL_15| (let ((.cse5 (@diff |v_old(#valid)_AFTER_CALL_16| |v_#valid_BEFORE_CALL_15|))) (store |v_old(#valid)_AFTER_CALL_16| .cse5 (select |v_#valid_BEFORE_CALL_15| .cse5)))))) (and .cse0 (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6| Int) (|v_old(#valid)_AFTER_CALL_14| (Array Int Int)) (|v_#valid_BEFORE_CALL_14| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6| Int) (v_arrayElimIndex_8 Int)) (let ((.cse6 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|))) (and (= (select |v_#valid_BEFORE_CALL_14| .cse6) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|) 0) (not (= |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6| |c_ULTIMATE.start_main_~#s~0#1.base|)) (= (select |v_old(#valid)_AFTER_CALL_14| .cse6) 0) (= (select |v_old(#valid)_AFTER_CALL_14| v_arrayElimIndex_8) 1) (= |v_#valid_BEFORE_CALL_14| (let ((.cse7 (@diff |v_old(#valid)_AFTER_CALL_14| |v_#valid_BEFORE_CALL_14|))) (store |v_old(#valid)_AFTER_CALL_14| .cse7 (select |v_#valid_BEFORE_CALL_14| .cse7)))))))) (exists ((|v_old(#valid)_AFTER_CALL_14| (Array Int Int)) (v_arrayElimIndex_8 Int)) (and (exists ((|v_#valid_BEFORE_CALL_14| (Array Int Int))) (and (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6| Int) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6| Int)) (let ((.cse8 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|))) (and (= (select |v_#valid_BEFORE_CALL_14| .cse8) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|) 0) (= (select |v_old(#valid)_AFTER_CALL_14| .cse8) 0) (exists ((|v_#valid_BEFORE_CALL_15| (Array Int Int))) (and (= (select |v_#valid_BEFORE_CALL_15| .cse8) 1) (exists ((|v_old(#valid)_AFTER_CALL_16| (Array Int Int)) (v_arrayElimIndex_11 Int)) (and (= (select |v_old(#valid)_AFTER_CALL_16| v_arrayElimIndex_11) 1) (= |v_#valid_BEFORE_CALL_15| (let ((.cse9 (@diff |v_old(#valid)_AFTER_CALL_16| |v_#valid_BEFORE_CALL_15|))) (store |v_old(#valid)_AFTER_CALL_16| .cse9 (select |v_#valid_BEFORE_CALL_15| .cse9)))) (= (select |v_old(#valid)_AFTER_CALL_16| .cse8) 0))) (= (select |v_#valid_BEFORE_CALL_15| .cse3) 0)))))) (= |v_#valid_BEFORE_CALL_14| (let ((.cse10 (@diff |v_old(#valid)_AFTER_CALL_14| |v_#valid_BEFORE_CALL_14|))) (store |v_old(#valid)_AFTER_CALL_14| .cse10 (select |v_#valid_BEFORE_CALL_14| .cse10)))))) (= (select |v_old(#valid)_AFTER_CALL_14| v_arrayElimIndex_8) 1))))) (= (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) 0) (= (select (select |c_#memory_int#1| .cse3) 4) |c_ULTIMATE.start_main_~uneq~0#1|))) is different from true [2025-02-05 14:41:26,702 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2025-02-05 14:41:26,703 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 341 treesize of output 357 [2025-02-05 14:41:26,808 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2025-02-05 14:41:26,808 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 278 treesize of output 334 [2025-02-05 14:41:26,827 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 15 treesize of output 7 [2025-02-05 14:41:26,855 INFO L134 CoverageAnalysis]: Checked inductivity of 22 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 16 not checked. [2025-02-05 14:41:26,856 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-02-05 14:41:26,981 WARN L851 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_792 Int) (v_ArrVal_793 (Array Int Int))) (= |c_ULTIMATE.start_main_~uneq~0#1| (select (select (store (store |c_#memory_int#1| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| (store (select |c_#memory_int#1| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.offset| v_ArrVal_792)) (select (select |c_#memory_$Pointer$#1.base| |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.offset|) v_ArrVal_793) (select (select (store |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| (store (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|)) |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|)) (+ (select (select (store |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| (store (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.offset|)) |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) 4)))) is different from false [2025-02-05 14:41:26,992 WARN L851 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_792 Int) (v_ArrVal_793 (Array Int Int))) (= |c_ULTIMATE.start_main_~uneq~0#1| (select (select (store (store |c_#memory_int#1| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| (store (select |c_#memory_int#1| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.offset| v_ArrVal_792)) (select (select |c_#memory_$Pointer$#1.base| (select (select |c_#memory_$Pointer$#1.base| |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.offset|)) (select (select |c_#memory_$Pointer$#1.offset| |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.offset|)) v_ArrVal_793) (select (select (store |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| (store (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|)) |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|)) (+ (select (select (store |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| (store (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.offset|)) |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) 4)))) is different from false [2025-02-05 14:41:27,003 WARN L851 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_792 Int) (v_ArrVal_793 (Array Int Int))) (= (let ((.cse2 (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|))) (select (let ((.cse3 (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|))) (select (store (store |c_#memory_int#1| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| (store (select |c_#memory_int#1| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.offset| v_ArrVal_792)) (let ((.cse0 (select .cse3 |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (.cse1 (select .cse2 |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|))) (select (select |c_#memory_$Pointer$#1.base| (select (select |c_#memory_$Pointer$#1.base| .cse0) .cse1)) (select (select |c_#memory_$Pointer$#1.offset| .cse0) .cse1))) v_ArrVal_793) (select (select (store |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| (store .cse3 |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|)) |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (+ (select (select (store |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| (store .cse2 |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.offset|)) |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) 4))) |c_ULTIMATE.start_main_~uneq~0#1|)) is different from false [2025-02-05 14:41:27,834 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2025-02-05 14:41:27,834 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 2 case distinctions, treesize of input 84 treesize of output 90 [2025-02-05 14:41:27,843 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2025-02-05 14:41:27,843 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 168 treesize of output 169 [2025-02-05 14:41:27,853 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 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 72 treesize of output 56 [2025-02-05 14:41:27,974 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [237158009] provided 0 perfect and 1 imperfect interpolant sequences [2025-02-05 14:41:27,974 INFO L185 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2025-02-05 14:41:27,974 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 23] total 35 [2025-02-05 14:41:27,974 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1743154631] [2025-02-05 14:41:27,974 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2025-02-05 14:41:27,975 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 35 states [2025-02-05 14:41:27,975 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-02-05 14:41:27,975 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 35 interpolants. [2025-02-05 14:41:27,976 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=87, Invalid=580, Unknown=47, NotChecked=1008, Total=1722 [2025-02-05 14:41:27,976 INFO L87 Difference]: Start difference. First operand 61 states and 71 transitions. Second operand has 35 states, 33 states have (on average 1.4848484848484849) internal successors, (49), 28 states have internal predecessors, (49), 4 states have call successors, (4), 4 states have call predecessors, (4), 4 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2025-02-05 14:41:28,125 WARN L851 $PredicateComparison]: unable to prove that (and (= |c_ULTIMATE.start_sll_circular_create_#t~ret5#1.offset| 0) (= |c_ULTIMATE.start_sll_circular_create_~head~0#1.offset| |c_ULTIMATE.start_sll_circular_create_#t~ret5#1.offset|) (exists ((|v_old(#valid)_AFTER_CALL_14| (Array Int Int))) (and (= |c_#valid| (let ((.cse0 (@diff |v_old(#valid)_AFTER_CALL_14| |c_#valid|))) (store |v_old(#valid)_AFTER_CALL_14| .cse0 (select |c_#valid| .cse0)))) (= 1 (select |v_old(#valid)_AFTER_CALL_14| |c_ULTIMATE.start_sll_circular_create_~last~0#1.base|)) (= (select |v_old(#valid)_AFTER_CALL_14| |c_ULTIMATE.start_sll_circular_create_#t~ret5#1.base|) 0))) (= (select |c_#valid| |c_ULTIMATE.start_sll_circular_create_#t~ret5#1.base|) 1) (= (select |c_#valid| |c_ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1) (not (= |c_ULTIMATE.start_sll_circular_create_~last~0#1.base| |c_ULTIMATE.start_sll_circular_create_#t~ret5#1.base|)) (= |c_ULTIMATE.start_sll_circular_create_~last~0#1.offset| 0) (= |c_ULTIMATE.start_sll_circular_create_~head~0#1.offset| 0) (= |c_ULTIMATE.start_sll_circular_create_~last~0#1.offset| |c_ULTIMATE.start_sll_circular_create_#t~ret5#1.offset|) (= |c_ULTIMATE.start_sll_circular_create_~head~0#1.base| |c_ULTIMATE.start_sll_circular_create_~last~0#1.base|)) is different from false [2025-02-05 14:41:28,128 WARN L873 $PredicateComparison]: unable to prove that (and (= |c_ULTIMATE.start_sll_circular_create_#t~ret5#1.offset| 0) (= |c_ULTIMATE.start_sll_circular_create_~head~0#1.offset| |c_ULTIMATE.start_sll_circular_create_#t~ret5#1.offset|) (exists ((|v_old(#valid)_AFTER_CALL_14| (Array Int Int))) (and (= |c_#valid| (let ((.cse0 (@diff |v_old(#valid)_AFTER_CALL_14| |c_#valid|))) (store |v_old(#valid)_AFTER_CALL_14| .cse0 (select |c_#valid| .cse0)))) (= 1 (select |v_old(#valid)_AFTER_CALL_14| |c_ULTIMATE.start_sll_circular_create_~last~0#1.base|)) (= (select |v_old(#valid)_AFTER_CALL_14| |c_ULTIMATE.start_sll_circular_create_#t~ret5#1.base|) 0))) (= (select |c_#valid| |c_ULTIMATE.start_sll_circular_create_#t~ret5#1.base|) 1) (= (select |c_#valid| |c_ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1) (not (= |c_ULTIMATE.start_sll_circular_create_~last~0#1.base| |c_ULTIMATE.start_sll_circular_create_#t~ret5#1.base|)) (= |c_ULTIMATE.start_sll_circular_create_~last~0#1.offset| 0) (= |c_ULTIMATE.start_sll_circular_create_~head~0#1.offset| 0) (= |c_ULTIMATE.start_sll_circular_create_~last~0#1.offset| |c_ULTIMATE.start_sll_circular_create_#t~ret5#1.offset|) (= |c_ULTIMATE.start_sll_circular_create_~head~0#1.base| |c_ULTIMATE.start_sll_circular_create_~last~0#1.base|)) is different from true [2025-02-05 14:41:28,131 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse1 (select |c_#memory_$Pointer$#1.offset| |c_ULTIMATE.start_sll_circular_create_~head~0#1.base|)) (.cse0 (select |c_#memory_$Pointer$#1.base| |c_ULTIMATE.start_sll_circular_create_~head~0#1.base|))) (and (= |c_ULTIMATE.start_sll_circular_create_~last~0#1.base| (select .cse0 0)) (not (= |c_ULTIMATE.start_sll_circular_create_~head~0#1.base| |c_ULTIMATE.start_sll_circular_create_~last~0#1.base|)) (= (select .cse1 0) 0) (= |c_ULTIMATE.start_sll_circular_create_~last~0#1.offset| |c_ULTIMATE.start_sll_circular_create_~head~0#1.offset|) (= |c_ULTIMATE.start_sll_circular_create_~head~0#1.offset| (select .cse1 |c_ULTIMATE.start_sll_circular_create_~head~0#1.offset|)) (= (select |c_#valid| |c_ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1) (= |c_ULTIMATE.start_sll_circular_create_~last~0#1.offset| 0) (= (select |c_#valid| |c_ULTIMATE.start_sll_circular_create_~head~0#1.base|) 1) (= |c_ULTIMATE.start_sll_circular_create_~head~0#1.offset| 0) (exists ((|v_old(#valid)_AFTER_CALL_14| (Array Int Int))) (and (= (select |v_old(#valid)_AFTER_CALL_14| |c_ULTIMATE.start_sll_circular_create_~head~0#1.base|) 0) (= |c_#valid| (let ((.cse2 (@diff |v_old(#valid)_AFTER_CALL_14| |c_#valid|))) (store |v_old(#valid)_AFTER_CALL_14| .cse2 (select |c_#valid| .cse2)))) (= 1 (select |v_old(#valid)_AFTER_CALL_14| |c_ULTIMATE.start_sll_circular_create_~last~0#1.base|)))) (= |c_ULTIMATE.start_sll_circular_create_~last~0#1.base| (select .cse0 |c_ULTIMATE.start_sll_circular_create_~head~0#1.offset|)))) is different from false [2025-02-05 14:41:28,133 WARN L873 $PredicateComparison]: unable to prove that (let ((.cse1 (select |c_#memory_$Pointer$#1.offset| |c_ULTIMATE.start_sll_circular_create_~head~0#1.base|)) (.cse0 (select |c_#memory_$Pointer$#1.base| |c_ULTIMATE.start_sll_circular_create_~head~0#1.base|))) (and (= |c_ULTIMATE.start_sll_circular_create_~last~0#1.base| (select .cse0 0)) (not (= |c_ULTIMATE.start_sll_circular_create_~head~0#1.base| |c_ULTIMATE.start_sll_circular_create_~last~0#1.base|)) (= (select .cse1 0) 0) (= |c_ULTIMATE.start_sll_circular_create_~last~0#1.offset| |c_ULTIMATE.start_sll_circular_create_~head~0#1.offset|) (= |c_ULTIMATE.start_sll_circular_create_~head~0#1.offset| (select .cse1 |c_ULTIMATE.start_sll_circular_create_~head~0#1.offset|)) (= (select |c_#valid| |c_ULTIMATE.start_sll_circular_create_~last~0#1.base|) 1) (= |c_ULTIMATE.start_sll_circular_create_~last~0#1.offset| 0) (= (select |c_#valid| |c_ULTIMATE.start_sll_circular_create_~head~0#1.base|) 1) (= |c_ULTIMATE.start_sll_circular_create_~head~0#1.offset| 0) (exists ((|v_old(#valid)_AFTER_CALL_14| (Array Int Int))) (and (= (select |v_old(#valid)_AFTER_CALL_14| |c_ULTIMATE.start_sll_circular_create_~head~0#1.base|) 0) (= |c_#valid| (let ((.cse2 (@diff |v_old(#valid)_AFTER_CALL_14| |c_#valid|))) (store |v_old(#valid)_AFTER_CALL_14| .cse2 (select |c_#valid| .cse2)))) (= 1 (select |v_old(#valid)_AFTER_CALL_14| |c_ULTIMATE.start_sll_circular_create_~last~0#1.base|)))) (= |c_ULTIMATE.start_sll_circular_create_~last~0#1.base| (select .cse0 |c_ULTIMATE.start_sll_circular_create_~head~0#1.offset|)))) is different from true [2025-02-05 14:41:28,136 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse4 (select |c_#memory_$Pointer$#1.base| |c_ULTIMATE.start_sll_circular_create_#res#1.base|))) (let ((.cse2 (select |c_#memory_$Pointer$#1.offset| |c_ULTIMATE.start_sll_circular_create_#res#1.base|)) (.cse3 (select .cse4 |c_ULTIMATE.start_sll_circular_create_#res#1.offset|)) (.cse1 (select .cse4 0))) (and (exists ((|v_old(#valid)_AFTER_CALL_14| (Array Int Int))) (and (= |c_#valid| (let ((.cse0 (@diff |v_old(#valid)_AFTER_CALL_14| |c_#valid|))) (store |v_old(#valid)_AFTER_CALL_14| .cse0 (select |c_#valid| .cse0)))) (= (select |v_old(#valid)_AFTER_CALL_14| |c_ULTIMATE.start_sll_circular_create_#res#1.base|) 0) (= (select |v_old(#valid)_AFTER_CALL_14| .cse1) 1))) (or (= |c_ULTIMATE.start_sll_circular_create_#res#1.base| .cse1) (= 0 (select .cse2 0))) (= |c_ULTIMATE.start_sll_circular_create_#res#1.offset| 0) (= |c_ULTIMATE.start_sll_circular_create_#res#1.offset| (select .cse2 |c_ULTIMATE.start_sll_circular_create_#res#1.offset|)) (= |c_ULTIMATE.start_sll_circular_create_#res#1.offset| (select (select |c_#memory_$Pointer$#1.offset| .cse3) |c_ULTIMATE.start_sll_circular_create_#res#1.offset|)) (= |c_ULTIMATE.start_sll_circular_create_#res#1.base| (select (select |c_#memory_$Pointer$#1.base| .cse3) |c_ULTIMATE.start_sll_circular_create_#res#1.offset|)) (= (select |c_#valid| |c_ULTIMATE.start_sll_circular_create_#res#1.base|) 1) (= (select |c_#valid| .cse3) 1) (= |c_ULTIMATE.start_sll_circular_create_#res#1.base| (select (select |c_#memory_$Pointer$#1.base| .cse1) 0))))) is different from false [2025-02-05 14:41:28,137 WARN L873 $PredicateComparison]: unable to prove that (let ((.cse4 (select |c_#memory_$Pointer$#1.base| |c_ULTIMATE.start_sll_circular_create_#res#1.base|))) (let ((.cse2 (select |c_#memory_$Pointer$#1.offset| |c_ULTIMATE.start_sll_circular_create_#res#1.base|)) (.cse3 (select .cse4 |c_ULTIMATE.start_sll_circular_create_#res#1.offset|)) (.cse1 (select .cse4 0))) (and (exists ((|v_old(#valid)_AFTER_CALL_14| (Array Int Int))) (and (= |c_#valid| (let ((.cse0 (@diff |v_old(#valid)_AFTER_CALL_14| |c_#valid|))) (store |v_old(#valid)_AFTER_CALL_14| .cse0 (select |c_#valid| .cse0)))) (= (select |v_old(#valid)_AFTER_CALL_14| |c_ULTIMATE.start_sll_circular_create_#res#1.base|) 0) (= (select |v_old(#valid)_AFTER_CALL_14| .cse1) 1))) (or (= |c_ULTIMATE.start_sll_circular_create_#res#1.base| .cse1) (= 0 (select .cse2 0))) (= |c_ULTIMATE.start_sll_circular_create_#res#1.offset| 0) (= |c_ULTIMATE.start_sll_circular_create_#res#1.offset| (select .cse2 |c_ULTIMATE.start_sll_circular_create_#res#1.offset|)) (= |c_ULTIMATE.start_sll_circular_create_#res#1.offset| (select (select |c_#memory_$Pointer$#1.offset| .cse3) |c_ULTIMATE.start_sll_circular_create_#res#1.offset|)) (= |c_ULTIMATE.start_sll_circular_create_#res#1.base| (select (select |c_#memory_$Pointer$#1.base| .cse3) |c_ULTIMATE.start_sll_circular_create_#res#1.offset|)) (= (select |c_#valid| |c_ULTIMATE.start_sll_circular_create_#res#1.base|) 1) (= (select |c_#valid| .cse3) 1) (= |c_ULTIMATE.start_sll_circular_create_#res#1.base| (select (select |c_#memory_$Pointer$#1.base| .cse1) 0))))) is different from true [2025-02-05 14:41:28,141 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse6 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (.cse2 (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|)) (.cse1 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse5 (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (.cse0 (select (select |c_#memory_$Pointer$#1.base| .cse1) 0)) (.cse4 (select (select |c_#memory_$Pointer$#1.base| .cse6) .cse2))) (and (or (= .cse0 .cse1) (= (select (select |c_#memory_$Pointer$#1.offset| .cse1) 0) 0)) (= .cse2 0) (exists ((|v_old(#valid)_AFTER_CALL_14| (Array Int Int))) (and (= |c_#valid| (let ((.cse3 (@diff |v_old(#valid)_AFTER_CALL_14| |c_#valid|))) (store |v_old(#valid)_AFTER_CALL_14| .cse3 (select |c_#valid| .cse3)))) (= 1 (select |v_old(#valid)_AFTER_CALL_14| .cse0)) (= (select |v_old(#valid)_AFTER_CALL_14| .cse1) 0))) (= (select |c_#valid| .cse4) 1) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_main_~#s~0#1.offset|) (= (select (select |c_#memory_$Pointer$#1.offset| .cse4) .cse2) .cse5) (= (select |c_#valid| .cse1) 1) (= |c_ULTIMATE.start_main_~uneq~0#1| |c_ULTIMATE.start_sll_circular_prepend_~data#1|) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| |c_ULTIMATE.start_main_~#s~0#1.base|) (= (select (select |c_#memory_$Pointer$#1.offset| .cse6) .cse2) .cse5) (= (select (select |c_#memory_$Pointer$#1.base| .cse0) 0) .cse1) (= (select (select |c_#memory_$Pointer$#1.base| .cse4) .cse2) .cse1) (= (select |c_#valid| .cse6) 1)))) is different from false [2025-02-05 14:41:28,143 WARN L873 $PredicateComparison]: unable to prove that (let ((.cse6 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (.cse2 (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|)) (.cse1 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse5 (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (.cse0 (select (select |c_#memory_$Pointer$#1.base| .cse1) 0)) (.cse4 (select (select |c_#memory_$Pointer$#1.base| .cse6) .cse2))) (and (or (= .cse0 .cse1) (= (select (select |c_#memory_$Pointer$#1.offset| .cse1) 0) 0)) (= .cse2 0) (exists ((|v_old(#valid)_AFTER_CALL_14| (Array Int Int))) (and (= |c_#valid| (let ((.cse3 (@diff |v_old(#valid)_AFTER_CALL_14| |c_#valid|))) (store |v_old(#valid)_AFTER_CALL_14| .cse3 (select |c_#valid| .cse3)))) (= 1 (select |v_old(#valid)_AFTER_CALL_14| .cse0)) (= (select |v_old(#valid)_AFTER_CALL_14| .cse1) 0))) (= (select |c_#valid| .cse4) 1) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_main_~#s~0#1.offset|) (= (select (select |c_#memory_$Pointer$#1.offset| .cse4) .cse2) .cse5) (= (select |c_#valid| .cse1) 1) (= |c_ULTIMATE.start_main_~uneq~0#1| |c_ULTIMATE.start_sll_circular_prepend_~data#1|) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| |c_ULTIMATE.start_main_~#s~0#1.base|) (= (select (select |c_#memory_$Pointer$#1.offset| .cse6) .cse2) .cse5) (= (select (select |c_#memory_$Pointer$#1.base| .cse0) 0) .cse1) (= (select (select |c_#memory_$Pointer$#1.base| .cse4) .cse2) .cse1) (= (select |c_#valid| .cse6) 1)))) is different from true [2025-02-05 14:41:28,148 WARN L851 $PredicateComparison]: unable to prove that (and (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6| Int) (|v_old(#valid)_AFTER_CALL_14| (Array Int Int)) (|v_#valid_BEFORE_CALL_14| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6| Int) (v_arrayElimIndex_8 Int)) (let ((.cse0 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|))) (and (= (select |v_#valid_BEFORE_CALL_14| .cse0) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|) 0) (= (select |v_old(#valid)_AFTER_CALL_14| .cse0) 0) (= (select |v_old(#valid)_AFTER_CALL_14| v_arrayElimIndex_8) 1) (= |v_#valid_BEFORE_CALL_14| (let ((.cse1 (@diff |v_old(#valid)_AFTER_CALL_14| |v_#valid_BEFORE_CALL_14|))) (store |v_old(#valid)_AFTER_CALL_14| .cse1 (select |v_#valid_BEFORE_CALL_14| .cse1))))))) (= |c_#memory_$Pointer$#1.offset| |c_old(#memory_$Pointer$#1.offset)|) (= |c_node_create_#in~data#1| |c_node_create_~data#1|) (= |c_node_create_~temp~0#1.offset| 0) (= (select |c_#valid| |c_node_create_~temp~0#1.base|) 1) (= (select |c_old(#valid)| |c_node_create_~temp~0#1.base|) 0) (= |c_#memory_$Pointer$#1.base| |c_old(#memory_$Pointer$#1.base)|)) is different from false [2025-02-05 14:41:28,150 WARN L873 $PredicateComparison]: unable to prove that (and (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6| Int) (|v_old(#valid)_AFTER_CALL_14| (Array Int Int)) (|v_#valid_BEFORE_CALL_14| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6| Int) (v_arrayElimIndex_8 Int)) (let ((.cse0 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|))) (and (= (select |v_#valid_BEFORE_CALL_14| .cse0) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|) 0) (= (select |v_old(#valid)_AFTER_CALL_14| .cse0) 0) (= (select |v_old(#valid)_AFTER_CALL_14| v_arrayElimIndex_8) 1) (= |v_#valid_BEFORE_CALL_14| (let ((.cse1 (@diff |v_old(#valid)_AFTER_CALL_14| |v_#valid_BEFORE_CALL_14|))) (store |v_old(#valid)_AFTER_CALL_14| .cse1 (select |v_#valid_BEFORE_CALL_14| .cse1))))))) (= |c_#memory_$Pointer$#1.offset| |c_old(#memory_$Pointer$#1.offset)|) (= |c_node_create_#in~data#1| |c_node_create_~data#1|) (= |c_node_create_~temp~0#1.offset| 0) (= (select |c_#valid| |c_node_create_~temp~0#1.base|) 1) (= (select |c_old(#valid)| |c_node_create_~temp~0#1.base|) 0) (= |c_#memory_$Pointer$#1.base| |c_old(#memory_$Pointer$#1.base)|)) is different from true [2025-02-05 14:41:28,154 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse3 (@diff |c_old(#memory_$Pointer$#1.offset)| |c_#memory_$Pointer$#1.offset|)) (.cse2 (@diff |c_old(#memory_$Pointer$#1.base)| |c_#memory_$Pointer$#1.base|))) (and (= |c_node_create_#res#1.offset| 0) (= (select |c_old(#valid)| |c_node_create_#res#1.base|) 0) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6| Int) (|v_old(#valid)_AFTER_CALL_14| (Array Int Int)) (|v_#valid_BEFORE_CALL_14| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6| Int) (v_arrayElimIndex_8 Int)) (let ((.cse0 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|))) (and (= (select |v_#valid_BEFORE_CALL_14| .cse0) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|) 0) (= (select |v_old(#valid)_AFTER_CALL_14| .cse0) 0) (= (select |v_old(#valid)_AFTER_CALL_14| v_arrayElimIndex_8) 1) (= |v_#valid_BEFORE_CALL_14| (let ((.cse1 (@diff |v_old(#valid)_AFTER_CALL_14| |v_#valid_BEFORE_CALL_14|))) (store |v_old(#valid)_AFTER_CALL_14| .cse1 (select |v_#valid_BEFORE_CALL_14| .cse1))))))) (= (select |c_#valid| |c_node_create_#res#1.base|) 1) (= |c_node_create_#in~data#1| (select (select |c_#memory_int#1| |c_node_create_#res#1.base|) 4)) (= |c_#memory_$Pointer$#1.base| (store |c_old(#memory_$Pointer$#1.base)| .cse2 (select |c_#memory_$Pointer$#1.base| .cse2))) (= |c_#memory_$Pointer$#1.base| (store |c_old(#memory_$Pointer$#1.base)| |c_node_create_#res#1.base| (select |c_#memory_$Pointer$#1.base| |c_node_create_#res#1.base|))) (= |c_#memory_$Pointer$#1.offset| (store |c_old(#memory_$Pointer$#1.offset)| |c_node_create_#res#1.base| (select |c_#memory_$Pointer$#1.offset| |c_node_create_#res#1.base|))) (or (= |c_#memory_$Pointer$#1.offset| |c_old(#memory_$Pointer$#1.offset)|) (= (select |c_old(#valid)| .cse3) 0)) (= |c_#memory_$Pointer$#1.offset| (store |c_old(#memory_$Pointer$#1.offset)| .cse3 (select |c_#memory_$Pointer$#1.offset| .cse3))) (or (= (select |c_old(#valid)| .cse2) 0) (= |c_#memory_$Pointer$#1.base| |c_old(#memory_$Pointer$#1.base)|)))) is different from false [2025-02-05 14:41:28,157 WARN L873 $PredicateComparison]: unable to prove that (let ((.cse3 (@diff |c_old(#memory_$Pointer$#1.offset)| |c_#memory_$Pointer$#1.offset|)) (.cse2 (@diff |c_old(#memory_$Pointer$#1.base)| |c_#memory_$Pointer$#1.base|))) (and (= |c_node_create_#res#1.offset| 0) (= (select |c_old(#valid)| |c_node_create_#res#1.base|) 0) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6| Int) (|v_old(#valid)_AFTER_CALL_14| (Array Int Int)) (|v_#valid_BEFORE_CALL_14| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6| Int) (v_arrayElimIndex_8 Int)) (let ((.cse0 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|))) (and (= (select |v_#valid_BEFORE_CALL_14| .cse0) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|) 0) (= (select |v_old(#valid)_AFTER_CALL_14| .cse0) 0) (= (select |v_old(#valid)_AFTER_CALL_14| v_arrayElimIndex_8) 1) (= |v_#valid_BEFORE_CALL_14| (let ((.cse1 (@diff |v_old(#valid)_AFTER_CALL_14| |v_#valid_BEFORE_CALL_14|))) (store |v_old(#valid)_AFTER_CALL_14| .cse1 (select |v_#valid_BEFORE_CALL_14| .cse1))))))) (= (select |c_#valid| |c_node_create_#res#1.base|) 1) (= |c_node_create_#in~data#1| (select (select |c_#memory_int#1| |c_node_create_#res#1.base|) 4)) (= |c_#memory_$Pointer$#1.base| (store |c_old(#memory_$Pointer$#1.base)| .cse2 (select |c_#memory_$Pointer$#1.base| .cse2))) (= |c_#memory_$Pointer$#1.base| (store |c_old(#memory_$Pointer$#1.base)| |c_node_create_#res#1.base| (select |c_#memory_$Pointer$#1.base| |c_node_create_#res#1.base|))) (= |c_#memory_$Pointer$#1.offset| (store |c_old(#memory_$Pointer$#1.offset)| |c_node_create_#res#1.base| (select |c_#memory_$Pointer$#1.offset| |c_node_create_#res#1.base|))) (or (= |c_#memory_$Pointer$#1.offset| |c_old(#memory_$Pointer$#1.offset)|) (= (select |c_old(#valid)| .cse3) 0)) (= |c_#memory_$Pointer$#1.offset| (store |c_old(#memory_$Pointer$#1.offset)| .cse3 (select |c_#memory_$Pointer$#1.offset| .cse3))) (or (= (select |c_old(#valid)| .cse2) 0) (= |c_#memory_$Pointer$#1.base| |c_old(#memory_$Pointer$#1.base)|)))) is different from true [2025-02-05 14:41:28,168 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse8 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (.cse2 (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|)) (.cse4 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse7 (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (.cse3 (select (select |c_#memory_$Pointer$#1.base| .cse4) 0)) (.cse6 (select (select |c_#memory_$Pointer$#1.base| .cse8) .cse2))) (and (= |c_ULTIMATE.start_sll_circular_prepend_#t~ret9#1.offset| 0) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6| Int) (|v_old(#valid)_AFTER_CALL_14| (Array Int Int)) (|v_#valid_BEFORE_CALL_14| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6| Int) (v_arrayElimIndex_8 Int)) (let ((.cse0 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|))) (and (= (select |v_#valid_BEFORE_CALL_14| .cse0) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|) 0) (= (select |v_old(#valid)_AFTER_CALL_14| .cse0) 0) (= (select |v_old(#valid)_AFTER_CALL_14| v_arrayElimIndex_8) 1) (= |v_#valid_BEFORE_CALL_14| (let ((.cse1 (@diff |v_old(#valid)_AFTER_CALL_14| |v_#valid_BEFORE_CALL_14|))) (store |v_old(#valid)_AFTER_CALL_14| .cse1 (select |v_#valid_BEFORE_CALL_14| .cse1))))))) (= .cse2 0) (exists ((|v_old(#valid)_AFTER_CALL_16| (Array Int Int)) (|v_#valid_BEFORE_CALL_15| (Array Int Int))) (and (= (select |v_old(#valid)_AFTER_CALL_16| .cse3) 1) (= (select |v_old(#valid)_AFTER_CALL_16| .cse4) 0) (= (select |v_#valid_BEFORE_CALL_15| .cse4) 1) (= |v_#valid_BEFORE_CALL_15| (let ((.cse5 (@diff |v_old(#valid)_AFTER_CALL_16| |v_#valid_BEFORE_CALL_15|))) (store |v_old(#valid)_AFTER_CALL_16| .cse5 (select |v_#valid_BEFORE_CALL_15| .cse5)))) (= (select |v_#valid_BEFORE_CALL_15| |c_ULTIMATE.start_sll_circular_prepend_#t~ret9#1.base|) 0))) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_main_~#s~0#1.offset|) (= (select (select |c_#memory_$Pointer$#1.offset| .cse6) .cse2) .cse7) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| |c_ULTIMATE.start_main_~#s~0#1.base|) (= |c_ULTIMATE.start_main_~uneq~0#1| (select (select |c_#memory_int#1| |c_ULTIMATE.start_sll_circular_prepend_#t~ret9#1.base|) 4)) (or (= .cse3 .cse4) (= (select (select |c_#memory_$Pointer$#1.offset| .cse4) 0) 0) (= |c_ULTIMATE.start_sll_circular_prepend_#t~ret9#1.base| .cse4)) (= (select (select |c_#memory_$Pointer$#1.offset| .cse8) .cse2) .cse7) (= (select (select |c_#memory_$Pointer$#1.base| .cse3) 0) .cse4) (= (select (select |c_#memory_$Pointer$#1.base| .cse6) .cse2) .cse4)))) is different from false [2025-02-05 14:41:28,170 WARN L873 $PredicateComparison]: unable to prove that (let ((.cse8 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (.cse2 (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|)) (.cse4 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse7 (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (.cse3 (select (select |c_#memory_$Pointer$#1.base| .cse4) 0)) (.cse6 (select (select |c_#memory_$Pointer$#1.base| .cse8) .cse2))) (and (= |c_ULTIMATE.start_sll_circular_prepend_#t~ret9#1.offset| 0) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6| Int) (|v_old(#valid)_AFTER_CALL_14| (Array Int Int)) (|v_#valid_BEFORE_CALL_14| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6| Int) (v_arrayElimIndex_8 Int)) (let ((.cse0 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|))) (and (= (select |v_#valid_BEFORE_CALL_14| .cse0) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|) 0) (= (select |v_old(#valid)_AFTER_CALL_14| .cse0) 0) (= (select |v_old(#valid)_AFTER_CALL_14| v_arrayElimIndex_8) 1) (= |v_#valid_BEFORE_CALL_14| (let ((.cse1 (@diff |v_old(#valid)_AFTER_CALL_14| |v_#valid_BEFORE_CALL_14|))) (store |v_old(#valid)_AFTER_CALL_14| .cse1 (select |v_#valid_BEFORE_CALL_14| .cse1))))))) (= .cse2 0) (exists ((|v_old(#valid)_AFTER_CALL_16| (Array Int Int)) (|v_#valid_BEFORE_CALL_15| (Array Int Int))) (and (= (select |v_old(#valid)_AFTER_CALL_16| .cse3) 1) (= (select |v_old(#valid)_AFTER_CALL_16| .cse4) 0) (= (select |v_#valid_BEFORE_CALL_15| .cse4) 1) (= |v_#valid_BEFORE_CALL_15| (let ((.cse5 (@diff |v_old(#valid)_AFTER_CALL_16| |v_#valid_BEFORE_CALL_15|))) (store |v_old(#valid)_AFTER_CALL_16| .cse5 (select |v_#valid_BEFORE_CALL_15| .cse5)))) (= (select |v_#valid_BEFORE_CALL_15| |c_ULTIMATE.start_sll_circular_prepend_#t~ret9#1.base|) 0))) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_main_~#s~0#1.offset|) (= (select (select |c_#memory_$Pointer$#1.offset| .cse6) .cse2) .cse7) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| |c_ULTIMATE.start_main_~#s~0#1.base|) (= |c_ULTIMATE.start_main_~uneq~0#1| (select (select |c_#memory_int#1| |c_ULTIMATE.start_sll_circular_prepend_#t~ret9#1.base|) 4)) (or (= .cse3 .cse4) (= (select (select |c_#memory_$Pointer$#1.offset| .cse4) 0) 0) (= |c_ULTIMATE.start_sll_circular_prepend_#t~ret9#1.base| .cse4)) (= (select (select |c_#memory_$Pointer$#1.offset| .cse8) .cse2) .cse7) (= (select (select |c_#memory_$Pointer$#1.base| .cse3) 0) .cse4) (= (select (select |c_#memory_$Pointer$#1.base| .cse6) .cse2) .cse4)))) is different from true [2025-02-05 14:41:28,181 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse8 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (.cse2 (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|)) (.cse4 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse7 (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (.cse3 (select (select |c_#memory_$Pointer$#1.base| .cse4) 0)) (.cse6 (select (select |c_#memory_$Pointer$#1.base| .cse8) .cse2))) (and (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6| Int) (|v_old(#valid)_AFTER_CALL_14| (Array Int Int)) (|v_#valid_BEFORE_CALL_14| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6| Int) (v_arrayElimIndex_8 Int)) (let ((.cse0 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|))) (and (= (select |v_#valid_BEFORE_CALL_14| .cse0) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|) 0) (= (select |v_old(#valid)_AFTER_CALL_14| .cse0) 0) (= (select |v_old(#valid)_AFTER_CALL_14| v_arrayElimIndex_8) 1) (= |v_#valid_BEFORE_CALL_14| (let ((.cse1 (@diff |v_old(#valid)_AFTER_CALL_14| |v_#valid_BEFORE_CALL_14|))) (store |v_old(#valid)_AFTER_CALL_14| .cse1 (select |v_#valid_BEFORE_CALL_14| .cse1))))))) (= .cse2 0) (exists ((|v_old(#valid)_AFTER_CALL_16| (Array Int Int)) (|v_#valid_BEFORE_CALL_15| (Array Int Int))) (and (= (select |v_old(#valid)_AFTER_CALL_16| .cse3) 1) (= (select |v_old(#valid)_AFTER_CALL_16| .cse4) 0) (= (select |v_#valid_BEFORE_CALL_15| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 0) (= (select |v_#valid_BEFORE_CALL_15| .cse4) 1) (= |v_#valid_BEFORE_CALL_15| (let ((.cse5 (@diff |v_old(#valid)_AFTER_CALL_16| |v_#valid_BEFORE_CALL_15|))) (store |v_old(#valid)_AFTER_CALL_16| .cse5 (select |v_#valid_BEFORE_CALL_15| .cse5)))))) (or (= .cse3 .cse4) (= (select (select |c_#memory_$Pointer$#1.offset| .cse4) 0) 0) (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| .cse4)) (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.offset| 0) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_main_~#s~0#1.offset|) (= (select (select |c_#memory_$Pointer$#1.offset| .cse6) .cse2) .cse7) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| |c_ULTIMATE.start_main_~#s~0#1.base|) (= |c_ULTIMATE.start_main_~uneq~0#1| (select (select |c_#memory_int#1| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 4)) (= (select (select |c_#memory_$Pointer$#1.offset| .cse8) .cse2) .cse7) (= (select (select |c_#memory_$Pointer$#1.base| .cse3) 0) .cse4) (= (select (select |c_#memory_$Pointer$#1.base| .cse6) .cse2) .cse4)))) is different from false [2025-02-05 14:41:28,183 WARN L873 $PredicateComparison]: unable to prove that (let ((.cse8 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (.cse2 (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|)) (.cse4 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse7 (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (.cse3 (select (select |c_#memory_$Pointer$#1.base| .cse4) 0)) (.cse6 (select (select |c_#memory_$Pointer$#1.base| .cse8) .cse2))) (and (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6| Int) (|v_old(#valid)_AFTER_CALL_14| (Array Int Int)) (|v_#valid_BEFORE_CALL_14| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6| Int) (v_arrayElimIndex_8 Int)) (let ((.cse0 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|))) (and (= (select |v_#valid_BEFORE_CALL_14| .cse0) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|) 0) (= (select |v_old(#valid)_AFTER_CALL_14| .cse0) 0) (= (select |v_old(#valid)_AFTER_CALL_14| v_arrayElimIndex_8) 1) (= |v_#valid_BEFORE_CALL_14| (let ((.cse1 (@diff |v_old(#valid)_AFTER_CALL_14| |v_#valid_BEFORE_CALL_14|))) (store |v_old(#valid)_AFTER_CALL_14| .cse1 (select |v_#valid_BEFORE_CALL_14| .cse1))))))) (= .cse2 0) (exists ((|v_old(#valid)_AFTER_CALL_16| (Array Int Int)) (|v_#valid_BEFORE_CALL_15| (Array Int Int))) (and (= (select |v_old(#valid)_AFTER_CALL_16| .cse3) 1) (= (select |v_old(#valid)_AFTER_CALL_16| .cse4) 0) (= (select |v_#valid_BEFORE_CALL_15| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 0) (= (select |v_#valid_BEFORE_CALL_15| .cse4) 1) (= |v_#valid_BEFORE_CALL_15| (let ((.cse5 (@diff |v_old(#valid)_AFTER_CALL_16| |v_#valid_BEFORE_CALL_15|))) (store |v_old(#valid)_AFTER_CALL_16| .cse5 (select |v_#valid_BEFORE_CALL_15| .cse5)))))) (or (= .cse3 .cse4) (= (select (select |c_#memory_$Pointer$#1.offset| .cse4) 0) 0) (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| .cse4)) (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.offset| 0) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_main_~#s~0#1.offset|) (= (select (select |c_#memory_$Pointer$#1.offset| .cse6) .cse2) .cse7) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| |c_ULTIMATE.start_main_~#s~0#1.base|) (= |c_ULTIMATE.start_main_~uneq~0#1| (select (select |c_#memory_int#1| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 4)) (= (select (select |c_#memory_$Pointer$#1.offset| .cse8) .cse2) .cse7) (= (select (select |c_#memory_$Pointer$#1.base| .cse3) 0) .cse4) (= (select (select |c_#memory_$Pointer$#1.base| .cse6) .cse2) .cse4)))) is different from true [2025-02-05 14:41:28,195 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse5 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse0 (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (.cse7 (select (select |c_#memory_$Pointer$#1.base| |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.offset|)) (.cse3 (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|)) (.cse4 (select (select |c_#memory_$Pointer$#1.base| .cse5) 0))) (and (= (select (select |c_#memory_$Pointer$#1.offset| |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.offset|) .cse0) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6| Int) (|v_old(#valid)_AFTER_CALL_14| (Array Int Int)) (|v_#valid_BEFORE_CALL_14| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6| Int) (v_arrayElimIndex_8 Int)) (let ((.cse1 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|))) (and (= (select |v_#valid_BEFORE_CALL_14| .cse1) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|) 0) (= (select |v_old(#valid)_AFTER_CALL_14| .cse1) 0) (= (select |v_old(#valid)_AFTER_CALL_14| v_arrayElimIndex_8) 1) (= |v_#valid_BEFORE_CALL_14| (let ((.cse2 (@diff |v_old(#valid)_AFTER_CALL_14| |v_#valid_BEFORE_CALL_14|))) (store |v_old(#valid)_AFTER_CALL_14| .cse2 (select |v_#valid_BEFORE_CALL_14| .cse2))))))) (= .cse3 0) (= |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base| (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (exists ((|v_old(#valid)_AFTER_CALL_16| (Array Int Int)) (|v_#valid_BEFORE_CALL_15| (Array Int Int))) (and (= (select |v_old(#valid)_AFTER_CALL_16| .cse4) 1) (= (select |v_old(#valid)_AFTER_CALL_16| .cse5) 0) (= (select |v_#valid_BEFORE_CALL_15| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 0) (= (select |v_#valid_BEFORE_CALL_15| .cse5) 1) (= |v_#valid_BEFORE_CALL_15| (let ((.cse6 (@diff |v_old(#valid)_AFTER_CALL_16| |v_#valid_BEFORE_CALL_15|))) (store |v_old(#valid)_AFTER_CALL_16| .cse6 (select |v_#valid_BEFORE_CALL_15| .cse6)))))) (or (= .cse4 .cse5) (= (select (select |c_#memory_$Pointer$#1.offset| .cse5) 0) 0) (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| .cse5)) (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.offset| 0) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_main_~#s~0#1.offset|) (= |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.offset| .cse0) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| |c_ULTIMATE.start_main_~#s~0#1.base|) (= |c_ULTIMATE.start_main_~uneq~0#1| (select (select |c_#memory_int#1| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 4)) (= (select (select |c_#memory_$Pointer$#1.base| .cse7) .cse3) .cse5) (= .cse0 (select (select |c_#memory_$Pointer$#1.offset| .cse7) .cse3)) (= (select (select |c_#memory_$Pointer$#1.base| .cse4) 0) .cse5)))) is different from false [2025-02-05 14:41:28,198 WARN L873 $PredicateComparison]: unable to prove that (let ((.cse5 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse0 (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (.cse7 (select (select |c_#memory_$Pointer$#1.base| |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.offset|)) (.cse3 (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|)) (.cse4 (select (select |c_#memory_$Pointer$#1.base| .cse5) 0))) (and (= (select (select |c_#memory_$Pointer$#1.offset| |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.offset|) .cse0) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6| Int) (|v_old(#valid)_AFTER_CALL_14| (Array Int Int)) (|v_#valid_BEFORE_CALL_14| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6| Int) (v_arrayElimIndex_8 Int)) (let ((.cse1 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|))) (and (= (select |v_#valid_BEFORE_CALL_14| .cse1) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|) 0) (= (select |v_old(#valid)_AFTER_CALL_14| .cse1) 0) (= (select |v_old(#valid)_AFTER_CALL_14| v_arrayElimIndex_8) 1) (= |v_#valid_BEFORE_CALL_14| (let ((.cse2 (@diff |v_old(#valid)_AFTER_CALL_14| |v_#valid_BEFORE_CALL_14|))) (store |v_old(#valid)_AFTER_CALL_14| .cse2 (select |v_#valid_BEFORE_CALL_14| .cse2))))))) (= .cse3 0) (= |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base| (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (exists ((|v_old(#valid)_AFTER_CALL_16| (Array Int Int)) (|v_#valid_BEFORE_CALL_15| (Array Int Int))) (and (= (select |v_old(#valid)_AFTER_CALL_16| .cse4) 1) (= (select |v_old(#valid)_AFTER_CALL_16| .cse5) 0) (= (select |v_#valid_BEFORE_CALL_15| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 0) (= (select |v_#valid_BEFORE_CALL_15| .cse5) 1) (= |v_#valid_BEFORE_CALL_15| (let ((.cse6 (@diff |v_old(#valid)_AFTER_CALL_16| |v_#valid_BEFORE_CALL_15|))) (store |v_old(#valid)_AFTER_CALL_16| .cse6 (select |v_#valid_BEFORE_CALL_15| .cse6)))))) (or (= .cse4 .cse5) (= (select (select |c_#memory_$Pointer$#1.offset| .cse5) 0) 0) (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| .cse5)) (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.offset| 0) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_main_~#s~0#1.offset|) (= |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.offset| .cse0) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| |c_ULTIMATE.start_main_~#s~0#1.base|) (= |c_ULTIMATE.start_main_~uneq~0#1| (select (select |c_#memory_int#1| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 4)) (= (select (select |c_#memory_$Pointer$#1.base| .cse7) .cse3) .cse5) (= .cse0 (select (select |c_#memory_$Pointer$#1.offset| .cse7) .cse3)) (= (select (select |c_#memory_$Pointer$#1.base| .cse4) 0) .cse5)))) is different from true [2025-02-05 14:41:28,209 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse6 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse2 (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (.cse3 (select (select |c_#memory_$Pointer$#1.base| |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.offset|)) (.cse4 (select (select |c_#memory_$Pointer$#1.offset| |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.offset|)) (.cse5 (select (select |c_#memory_$Pointer$#1.base| .cse6) 0))) (and (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6| Int) (|v_old(#valid)_AFTER_CALL_14| (Array Int Int)) (|v_#valid_BEFORE_CALL_14| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6| Int) (v_arrayElimIndex_8 Int)) (let ((.cse0 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|))) (and (= (select |v_#valid_BEFORE_CALL_14| .cse0) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|) 0) (= (select |v_old(#valid)_AFTER_CALL_14| .cse0) 0) (= (select |v_old(#valid)_AFTER_CALL_14| v_arrayElimIndex_8) 1) (= |v_#valid_BEFORE_CALL_14| (let ((.cse1 (@diff |v_old(#valid)_AFTER_CALL_14| |v_#valid_BEFORE_CALL_14|))) (store |v_old(#valid)_AFTER_CALL_14| .cse1 (select |v_#valid_BEFORE_CALL_14| .cse1))))))) (= (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) 0) (= |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base| (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (= .cse2 (select (select |c_#memory_$Pointer$#1.offset| .cse3) .cse4)) (exists ((|v_old(#valid)_AFTER_CALL_16| (Array Int Int)) (|v_#valid_BEFORE_CALL_15| (Array Int Int))) (and (= (select |v_old(#valid)_AFTER_CALL_16| .cse5) 1) (= (select |v_old(#valid)_AFTER_CALL_16| .cse6) 0) (= (select |v_#valid_BEFORE_CALL_15| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 0) (= (select |v_#valid_BEFORE_CALL_15| .cse6) 1) (= |v_#valid_BEFORE_CALL_15| (let ((.cse7 (@diff |v_old(#valid)_AFTER_CALL_16| |v_#valid_BEFORE_CALL_15|))) (store |v_old(#valid)_AFTER_CALL_16| .cse7 (select |v_#valid_BEFORE_CALL_15| .cse7)))))) (or (= .cse5 .cse6) (= (select (select |c_#memory_$Pointer$#1.offset| .cse6) 0) 0) (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| .cse6)) (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.offset| 0) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_main_~#s~0#1.offset|) (= |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.offset| .cse2) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| |c_ULTIMATE.start_main_~#s~0#1.base|) (= (select (select |c_#memory_$Pointer$#1.base| .cse3) .cse4) .cse6) (= |c_ULTIMATE.start_main_~uneq~0#1| (select (select |c_#memory_int#1| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 4)) (= |c_ULTIMATE.start_sll_circular_prepend_#t~mem12#1.offset| |c_ULTIMATE.start_sll_circular_prepend_#t~mem13#1.offset|) (= (select (select |c_#memory_$Pointer$#1.base| .cse5) 0) .cse6)))) is different from false [2025-02-05 14:41:28,212 WARN L873 $PredicateComparison]: unable to prove that (let ((.cse6 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse2 (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (.cse3 (select (select |c_#memory_$Pointer$#1.base| |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.offset|)) (.cse4 (select (select |c_#memory_$Pointer$#1.offset| |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.offset|)) (.cse5 (select (select |c_#memory_$Pointer$#1.base| .cse6) 0))) (and (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6| Int) (|v_old(#valid)_AFTER_CALL_14| (Array Int Int)) (|v_#valid_BEFORE_CALL_14| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6| Int) (v_arrayElimIndex_8 Int)) (let ((.cse0 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|))) (and (= (select |v_#valid_BEFORE_CALL_14| .cse0) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|) 0) (= (select |v_old(#valid)_AFTER_CALL_14| .cse0) 0) (= (select |v_old(#valid)_AFTER_CALL_14| v_arrayElimIndex_8) 1) (= |v_#valid_BEFORE_CALL_14| (let ((.cse1 (@diff |v_old(#valid)_AFTER_CALL_14| |v_#valid_BEFORE_CALL_14|))) (store |v_old(#valid)_AFTER_CALL_14| .cse1 (select |v_#valid_BEFORE_CALL_14| .cse1))))))) (= (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) 0) (= |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base| (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (= .cse2 (select (select |c_#memory_$Pointer$#1.offset| .cse3) .cse4)) (exists ((|v_old(#valid)_AFTER_CALL_16| (Array Int Int)) (|v_#valid_BEFORE_CALL_15| (Array Int Int))) (and (= (select |v_old(#valid)_AFTER_CALL_16| .cse5) 1) (= (select |v_old(#valid)_AFTER_CALL_16| .cse6) 0) (= (select |v_#valid_BEFORE_CALL_15| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 0) (= (select |v_#valid_BEFORE_CALL_15| .cse6) 1) (= |v_#valid_BEFORE_CALL_15| (let ((.cse7 (@diff |v_old(#valid)_AFTER_CALL_16| |v_#valid_BEFORE_CALL_15|))) (store |v_old(#valid)_AFTER_CALL_16| .cse7 (select |v_#valid_BEFORE_CALL_15| .cse7)))))) (or (= .cse5 .cse6) (= (select (select |c_#memory_$Pointer$#1.offset| .cse6) 0) 0) (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| .cse6)) (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.offset| 0) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_main_~#s~0#1.offset|) (= |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.offset| .cse2) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| |c_ULTIMATE.start_main_~#s~0#1.base|) (= (select (select |c_#memory_$Pointer$#1.base| .cse3) .cse4) .cse6) (= |c_ULTIMATE.start_main_~uneq~0#1| (select (select |c_#memory_int#1| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 4)) (= |c_ULTIMATE.start_sll_circular_prepend_#t~mem12#1.offset| |c_ULTIMATE.start_sll_circular_prepend_#t~mem13#1.offset|) (= (select (select |c_#memory_$Pointer$#1.base| .cse5) 0) .cse6)))) is different from true [2025-02-05 14:41:28,219 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse0 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse1 (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (.cse4 (select (select |c_#memory_$Pointer$#1.base| .cse0) 0))) (and (= .cse0 (select (select |c_#memory_$Pointer$#1.base| |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.offset|)) (= (select (select |c_#memory_$Pointer$#1.offset| |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.offset|) .cse1) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6| Int) (|v_old(#valid)_AFTER_CALL_14| (Array Int Int)) (|v_#valid_BEFORE_CALL_14| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6| Int) (v_arrayElimIndex_8 Int)) (let ((.cse2 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|))) (and (= (select |v_#valid_BEFORE_CALL_14| .cse2) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|) 0) (= (select |v_old(#valid)_AFTER_CALL_14| .cse2) 0) (= (select |v_old(#valid)_AFTER_CALL_14| v_arrayElimIndex_8) 1) (= |v_#valid_BEFORE_CALL_14| (let ((.cse3 (@diff |v_old(#valid)_AFTER_CALL_14| |v_#valid_BEFORE_CALL_14|))) (store |v_old(#valid)_AFTER_CALL_14| .cse3 (select |v_#valid_BEFORE_CALL_14| .cse3))))))) (= (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) 0) (exists ((|v_old(#valid)_AFTER_CALL_16| (Array Int Int)) (|v_#valid_BEFORE_CALL_15| (Array Int Int))) (and (= (select |v_old(#valid)_AFTER_CALL_16| .cse4) 1) (= (select |v_old(#valid)_AFTER_CALL_16| .cse0) 0) (= (select |v_#valid_BEFORE_CALL_15| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 0) (= (select |v_#valid_BEFORE_CALL_15| .cse0) 1) (= |v_#valid_BEFORE_CALL_15| (let ((.cse5 (@diff |v_old(#valid)_AFTER_CALL_16| |v_#valid_BEFORE_CALL_15|))) (store |v_old(#valid)_AFTER_CALL_16| .cse5 (select |v_#valid_BEFORE_CALL_15| .cse5)))))) (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.offset| 0) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_main_~#s~0#1.offset|) (or (= |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.offset| 0) (= .cse4 .cse0) (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| .cse0)) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| |c_ULTIMATE.start_main_~#s~0#1.base|) (= (select (select |c_#memory_$Pointer$#1.base| (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) .cse1) |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base|) (= |c_ULTIMATE.start_main_~uneq~0#1| (select (select |c_#memory_int#1| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 4)) (= (select (select |c_#memory_$Pointer$#1.base| .cse4) 0) .cse0)))) is different from false [2025-02-05 14:41:28,222 WARN L873 $PredicateComparison]: unable to prove that (let ((.cse0 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse1 (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (.cse4 (select (select |c_#memory_$Pointer$#1.base| .cse0) 0))) (and (= .cse0 (select (select |c_#memory_$Pointer$#1.base| |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.offset|)) (= (select (select |c_#memory_$Pointer$#1.offset| |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.offset|) .cse1) (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6| Int) (|v_old(#valid)_AFTER_CALL_14| (Array Int Int)) (|v_#valid_BEFORE_CALL_14| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6| Int) (v_arrayElimIndex_8 Int)) (let ((.cse2 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|))) (and (= (select |v_#valid_BEFORE_CALL_14| .cse2) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|) 0) (= (select |v_old(#valid)_AFTER_CALL_14| .cse2) 0) (= (select |v_old(#valid)_AFTER_CALL_14| v_arrayElimIndex_8) 1) (= |v_#valid_BEFORE_CALL_14| (let ((.cse3 (@diff |v_old(#valid)_AFTER_CALL_14| |v_#valid_BEFORE_CALL_14|))) (store |v_old(#valid)_AFTER_CALL_14| .cse3 (select |v_#valid_BEFORE_CALL_14| .cse3))))))) (= (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) 0) (exists ((|v_old(#valid)_AFTER_CALL_16| (Array Int Int)) (|v_#valid_BEFORE_CALL_15| (Array Int Int))) (and (= (select |v_old(#valid)_AFTER_CALL_16| .cse4) 1) (= (select |v_old(#valid)_AFTER_CALL_16| .cse0) 0) (= (select |v_#valid_BEFORE_CALL_15| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 0) (= (select |v_#valid_BEFORE_CALL_15| .cse0) 1) (= |v_#valid_BEFORE_CALL_15| (let ((.cse5 (@diff |v_old(#valid)_AFTER_CALL_16| |v_#valid_BEFORE_CALL_15|))) (store |v_old(#valid)_AFTER_CALL_16| .cse5 (select |v_#valid_BEFORE_CALL_15| .cse5)))))) (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.offset| 0) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_main_~#s~0#1.offset|) (or (= |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.offset| 0) (= .cse4 .cse0) (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| .cse0)) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| |c_ULTIMATE.start_main_~#s~0#1.base|) (= (select (select |c_#memory_$Pointer$#1.base| (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) .cse1) |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base|) (= |c_ULTIMATE.start_main_~uneq~0#1| (select (select |c_#memory_int#1| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 4)) (= (select (select |c_#memory_$Pointer$#1.base| .cse4) 0) .cse0)))) is different from true [2025-02-05 14:41:28,236 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse3 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse2 (select (select |c_#memory_$Pointer$#1.base| .cse3) 0))) (and (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6| Int) (|v_old(#valid)_AFTER_CALL_14| (Array Int Int)) (|v_#valid_BEFORE_CALL_14| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6| Int) (v_arrayElimIndex_8 Int)) (let ((.cse0 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|))) (and (= (select |v_#valid_BEFORE_CALL_14| .cse0) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|) 0) (= (select |v_old(#valid)_AFTER_CALL_14| .cse0) 0) (= (select |v_old(#valid)_AFTER_CALL_14| v_arrayElimIndex_8) 1) (= |v_#valid_BEFORE_CALL_14| (let ((.cse1 (@diff |v_old(#valid)_AFTER_CALL_14| |v_#valid_BEFORE_CALL_14|))) (store |v_old(#valid)_AFTER_CALL_14| .cse1 (select |v_#valid_BEFORE_CALL_14| .cse1))))))) (= (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) 0) (exists ((|v_old(#valid)_AFTER_CALL_16| (Array Int Int)) (|v_#valid_BEFORE_CALL_15| (Array Int Int))) (and (= (select |v_old(#valid)_AFTER_CALL_16| .cse2) 1) (= (select |v_old(#valid)_AFTER_CALL_16| .cse3) 0) (= (select |v_#valid_BEFORE_CALL_15| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 0) (= (select |v_#valid_BEFORE_CALL_15| .cse3) 1) (= |v_#valid_BEFORE_CALL_15| (let ((.cse4 (@diff |v_old(#valid)_AFTER_CALL_16| |v_#valid_BEFORE_CALL_15|))) (store |v_old(#valid)_AFTER_CALL_16| .cse4 (select |v_#valid_BEFORE_CALL_15| .cse4)))))) (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.offset| 0) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_main_~#s~0#1.offset|) (or (= |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.offset| 0) (= .cse2 .cse3) (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| .cse3)) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| |c_ULTIMATE.start_main_~#s~0#1.base|) (= (select (select |c_#memory_$Pointer$#1.base| (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base|) (= |c_ULTIMATE.start_main_~uneq~0#1| (select (select |c_#memory_int#1| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 4)) (= |c_ULTIMATE.start_sll_circular_prepend_#t~mem12#1.offset| |c_ULTIMATE.start_sll_circular_prepend_#t~mem13#1.offset|) (= |c_ULTIMATE.start_sll_circular_prepend_#t~mem12#1.base| |c_ULTIMATE.start_sll_circular_prepend_#t~mem13#1.base|) (= (select (select |c_#memory_$Pointer$#1.base| .cse2) 0) .cse3)))) is different from false [2025-02-05 14:41:28,239 WARN L873 $PredicateComparison]: unable to prove that (let ((.cse3 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse2 (select (select |c_#memory_$Pointer$#1.base| .cse3) 0))) (and (exists ((|v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6| Int) (|v_old(#valid)_AFTER_CALL_14| (Array Int Int)) (|v_#valid_BEFORE_CALL_14| (Array Int Int)) (|v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6| Int) (v_arrayElimIndex_8 Int)) (let ((.cse0 (select (select |c_#memory_$Pointer$#2.base| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|))) (and (= (select |v_#valid_BEFORE_CALL_14| .cse0) 1) (= (select (select |c_#memory_$Pointer$#2.offset| |v_ULTIMATE.start_sll_circular_prepend_~head#1.base_BEFORE_CALL_6|) |v_ULTIMATE.start_sll_circular_prepend_~head#1.offset_BEFORE_CALL_6|) 0) (= (select |v_old(#valid)_AFTER_CALL_14| .cse0) 0) (= (select |v_old(#valid)_AFTER_CALL_14| v_arrayElimIndex_8) 1) (= |v_#valid_BEFORE_CALL_14| (let ((.cse1 (@diff |v_old(#valid)_AFTER_CALL_14| |v_#valid_BEFORE_CALL_14|))) (store |v_old(#valid)_AFTER_CALL_14| .cse1 (select |v_#valid_BEFORE_CALL_14| .cse1))))))) (= (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) 0) (exists ((|v_old(#valid)_AFTER_CALL_16| (Array Int Int)) (|v_#valid_BEFORE_CALL_15| (Array Int Int))) (and (= (select |v_old(#valid)_AFTER_CALL_16| .cse2) 1) (= (select |v_old(#valid)_AFTER_CALL_16| .cse3) 0) (= (select |v_#valid_BEFORE_CALL_15| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 0) (= (select |v_#valid_BEFORE_CALL_15| .cse3) 1) (= |v_#valid_BEFORE_CALL_15| (let ((.cse4 (@diff |v_old(#valid)_AFTER_CALL_16| |v_#valid_BEFORE_CALL_15|))) (store |v_old(#valid)_AFTER_CALL_16| .cse4 (select |v_#valid_BEFORE_CALL_15| .cse4)))))) (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.offset| 0) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_main_~#s~0#1.offset|) (or (= |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.offset| 0) (= .cse2 .cse3) (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| .cse3)) (= |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| |c_ULTIMATE.start_main_~#s~0#1.base|) (= (select (select |c_#memory_$Pointer$#1.base| (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base|) (= |c_ULTIMATE.start_main_~uneq~0#1| (select (select |c_#memory_int#1| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) 4)) (= |c_ULTIMATE.start_sll_circular_prepend_#t~mem12#1.offset| |c_ULTIMATE.start_sll_circular_prepend_#t~mem13#1.offset|) (= |c_ULTIMATE.start_sll_circular_prepend_#t~mem12#1.base| |c_ULTIMATE.start_sll_circular_prepend_#t~mem13#1.base|) (= (select (select |c_#memory_$Pointer$#1.base| .cse2) 0) .cse3)))) is different from true [2025-02-05 14:41:28,333 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-02-05 14:41:28,333 INFO L93 Difference]: Finished difference Result 72 states and 85 transitions. [2025-02-05 14:41:28,333 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2025-02-05 14:41:28,334 INFO L78 Accepts]: Start accepts. Automaton has has 35 states, 33 states have (on average 1.4848484848484849) internal successors, (49), 28 states have internal predecessors, (49), 4 states have call successors, (4), 4 states have call predecessors, (4), 4 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) Word has length 37 [2025-02-05 14:41:28,334 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2025-02-05 14:41:28,335 INFO L225 Difference]: With dead ends: 72 [2025-02-05 14:41:28,335 INFO L226 Difference]: Without dead ends: 61 [2025-02-05 14:41:28,336 INFO L434 NwaCegarLoop]: 0 DeclaredPredicates, 86 GetRequests, 30 SyntacticMatches, 2 SemanticMatches, 54 ConstructedPredicates, 28 IntricatePredicates, 0 DeprecatedPredicates, 73 ImplicationChecksByTransitivity, 3.6s TimeCoverageRelationStatistics Valid=122, Invalid=675, Unknown=71, NotChecked=2212, Total=3080 [2025-02-05 14:41:28,336 INFO L435 NwaCegarLoop]: 28 mSDtfsCounter, 0 mSDsluCounter, 311 mSDsCounter, 0 mSdLazyCounter, 240 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 339 SdHoareTripleChecker+Invalid, 1231 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 240 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 979 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2025-02-05 14:41:28,336 INFO L436 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 339 Invalid, 1231 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 240 Invalid, 0 Unknown, 979 Unchecked, 0.2s Time] [2025-02-05 14:41:28,337 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 61 states. [2025-02-05 14:41:28,347 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 61 to 61. [2025-02-05 14:41:28,347 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 61 states, 52 states have (on average 1.1538461538461537) internal successors, (60), 52 states have internal predecessors, (60), 5 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2025-02-05 14:41:28,349 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 70 transitions. [2025-02-05 14:41:28,349 INFO L78 Accepts]: Start accepts. Automaton has 61 states and 70 transitions. Word has length 37 [2025-02-05 14:41:28,351 INFO L84 Accepts]: Finished accepts. word is rejected. [2025-02-05 14:41:28,351 INFO L471 AbstractCegarLoop]: Abstraction has 61 states and 70 transitions. [2025-02-05 14:41:28,351 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 35 states, 33 states have (on average 1.4848484848484849) internal successors, (49), 28 states have internal predecessors, (49), 4 states have call successors, (4), 4 states have call predecessors, (4), 4 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2025-02-05 14:41:28,351 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 70 transitions. [2025-02-05 14:41:28,351 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2025-02-05 14:41:28,351 INFO L210 NwaCegarLoop]: Found error trace [2025-02-05 14:41:28,351 INFO L218 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-02-05 14:41:28,360 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2025-02-05 14:41:28,552 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-02-05 14:41:28,552 INFO L396 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-02-05 14:41:28,552 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-05 14:41:28,553 INFO L85 PathProgramCache]: Analyzing trace with hash -1526403210, now seen corresponding path program 1 times [2025-02-05 14:41:28,553 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-05 14:41:28,553 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [920237821] [2025-02-05 14:41:28,553 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-05 14:41:28,553 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-05 14:41:28,564 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 39 statements into 1 equivalence classes. [2025-02-05 14:41:28,576 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 39 of 39 statements. [2025-02-05 14:41:28,576 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-05 14:41:28,576 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-05 14:41:29,420 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 7 proven. 11 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-02-05 14:41:29,420 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-02-05 14:41:29,420 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [920237821] [2025-02-05 14:41:29,420 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [920237821] provided 0 perfect and 1 imperfect interpolant sequences [2025-02-05 14:41:29,420 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2132520617] [2025-02-05 14:41:29,420 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-05 14:41:29,421 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-02-05 14:41:29,421 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-05 14:41:29,422 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-02-05 14:41:29,424 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2025-02-05 14:41:29,504 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 39 statements into 1 equivalence classes. [2025-02-05 14:41:29,537 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 39 of 39 statements. [2025-02-05 14:41:29,537 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-05 14:41:29,537 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-05 14:41:29,539 INFO L256 TraceCheckSpWp]: Trace formula consists of 377 conjuncts, 104 conjuncts are in the unsatisfiable core [2025-02-05 14:41:29,544 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-02-05 14:41:29,546 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 6 treesize of output 5 [2025-02-05 14:41:29,629 INFO L349 Elim1Store]: treesize reduction 18, result has 35.7 percent of original size [2025-02-05 14:41:29,630 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 17 treesize of output 21 [2025-02-05 14:41:29,686 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 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 [2025-02-05 14:41:29,719 INFO L349 Elim1Store]: treesize reduction 19, result has 20.8 percent of original size [2025-02-05 14:41:29,719 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 2 new quantified variables, introduced 1 case distinctions, treesize of input 34 treesize of output 33 [2025-02-05 14:41:29,789 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 30 treesize of output 14 [2025-02-05 14:41:29,791 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 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 0 case distinctions, treesize of input 15 treesize of output 7 [2025-02-05 14:41:29,900 INFO L190 IndexEqualityManager]: detected not equals via solver [2025-02-05 14:41:29,900 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 38 treesize of output 27 [2025-02-05 14:41:29,909 INFO L349 Elim1Store]: treesize reduction 8, result has 72.4 percent of original size [2025-02-05 14:41:29,910 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 2 case distinctions, treesize of input 28 treesize of output 30 [2025-02-05 14:41:30,201 INFO L349 Elim1Store]: treesize reduction 33, result has 31.3 percent of original size [2025-02-05 14:41:30,201 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 30 treesize of output 22 [2025-02-05 14:41:30,205 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 44 treesize of output 40 [2025-02-05 14:41:30,208 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 2 new quantified variables, introduced 0 case distinctions, treesize of input 105 treesize of output 63 [2025-02-05 14:41:30,211 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 0 case distinctions, treesize of input 127 treesize of output 76 [2025-02-05 14:41:30,224 INFO L349 Elim1Store]: treesize reduction 60, result has 20.0 percent of original size [2025-02-05 14:41:30,224 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 4 new quantified variables, introduced 3 case distinctions, treesize of input 157 treesize of output 86 [2025-02-05 14:41:30,228 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 56 treesize of output 19 [2025-02-05 14:41:30,268 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 99 treesize of output 75 [2025-02-05 14:41:30,319 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 3 [2025-02-05 14:41:30,381 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 83 treesize of output 51 [2025-02-05 14:41:30,384 INFO L349 Elim1Store]: treesize reduction 11, result has 8.3 percent of original size [2025-02-05 14:41:30,384 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 3 new quantified variables, introduced 1 case distinctions, treesize of input 48 treesize of output 19 [2025-02-05 14:41:30,386 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 7 proven. 11 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-02-05 14:41:30,386 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-02-05 14:41:30,397 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2025-02-05 14:41:30,398 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 1 new quantified variables, introduced 1 case distinctions, treesize of input 121 treesize of output 122 [2025-02-05 14:41:30,410 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2025-02-05 14:41:30,411 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 245 treesize of output 248 [2025-02-05 14:41:30,416 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 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 204 treesize of output 190 [2025-02-05 14:41:31,037 WARN L851 $PredicateComparison]: unable to prove that (let ((.cse16 (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|)) (.cse1 (select (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|)) (.cse5 (select (select |c_#memory_$Pointer$#1.base| |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.offset|))) (let ((.cse12 (= .cse1 .cse5)) (.cse9 (select (select (store |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| (store .cse16 |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|)) |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse10 (= .cse9 .cse5)) (.cse7 (not .cse12)) (.cse2 (select (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|)) (.cse3 (select |c_#memory_$Pointer$#1.base| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|)) (.cse4 (select .cse16 |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (.cse6 (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|))) (and (or (forall ((|ULTIMATE.start_sll_circular_prepend_~new_head~1#1.offset| Int) (v_ArrVal_947 (Array Int Int)) (v_arrayElimCell_129 Int)) (or (not (= (select (let ((.cse0 (store (store |c_#memory_$Pointer$#1.base| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| (store .cse3 |ULTIMATE.start_sll_circular_prepend_~new_head~1#1.offset| .cse4)) .cse5 v_ArrVal_947))) (select .cse0 (select (select .cse0 .cse1) .cse2))) v_arrayElimCell_129) .cse1)) (= (select (select (store |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| (store .cse6 |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |ULTIMATE.start_sll_circular_prepend_~new_head~1#1.offset|)) |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) |ULTIMATE.start_sll_circular_prepend_~new_head~1#1.offset|))) .cse7) (or (forall ((|ULTIMATE.start_sll_circular_prepend_~new_head~1#1.offset| Int) (v_ArrVal_947 (Array Int Int)) (v_arrayElimCell_129 Int)) (not (= (select (let ((.cse8 (store (store |c_#memory_$Pointer$#1.base| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| (store .cse3 |ULTIMATE.start_sll_circular_prepend_~new_head~1#1.offset| .cse4)) .cse5 v_ArrVal_947))) (select .cse8 (select (select .cse8 .cse9) (select (select (store |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| (store .cse6 |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |ULTIMATE.start_sll_circular_prepend_~new_head~1#1.offset|)) |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|)))) v_arrayElimCell_129) .cse9))) (not .cse10)) (or (forall ((|ULTIMATE.start_sll_circular_prepend_~new_head~1#1.offset| Int) (v_ArrVal_947 (Array Int Int))) (not (= (select (let ((.cse11 (store (store |c_#memory_$Pointer$#1.base| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| (store .cse3 |ULTIMATE.start_sll_circular_prepend_~new_head~1#1.offset| .cse4)) .cse5 v_ArrVal_947))) (select .cse11 (select (select .cse11 .cse9) (select (select (store |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| (store .cse6 |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |ULTIMATE.start_sll_circular_prepend_~new_head~1#1.offset|)) |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|)))) (select .cse6 |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) .cse9))) .cse10) (or (and (or .cse12 (forall ((|ULTIMATE.start_sll_circular_prepend_~new_head~1#1.offset| Int) (v_ArrVal_947 (Array Int Int)) (v_arrayElimCell_128 Int)) (not (= (select (let ((.cse13 (store (store |c_#memory_$Pointer$#1.base| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| (store .cse3 |ULTIMATE.start_sll_circular_prepend_~new_head~1#1.offset| .cse4)) .cse5 v_ArrVal_947))) (select .cse13 (select (select .cse13 .cse1) .cse2))) v_arrayElimCell_128) .cse1)))) (or (forall ((|ULTIMATE.start_sll_circular_prepend_~new_head~1#1.offset| Int) (v_ArrVal_947 (Array Int Int)) (v_arrayElimCell_129 Int)) (not (= (select (let ((.cse14 (store (store |c_#memory_$Pointer$#1.base| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| (store .cse3 |ULTIMATE.start_sll_circular_prepend_~new_head~1#1.offset| .cse4)) .cse5 v_ArrVal_947))) (select .cse14 (select (select .cse14 .cse1) .cse2))) v_arrayElimCell_129) .cse1))) .cse7)) (= |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| .cse9)) (or .cse12 (forall ((|ULTIMATE.start_sll_circular_prepend_~new_head~1#1.offset| Int) (v_ArrVal_947 (Array Int Int)) (v_arrayElimCell_128 Int)) (or (not (= (select (let ((.cse15 (store (store |c_#memory_$Pointer$#1.base| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| (store .cse3 |ULTIMATE.start_sll_circular_prepend_~new_head~1#1.offset| .cse4)) .cse5 v_ArrVal_947))) (select .cse15 (select (select .cse15 .cse1) .cse2))) v_arrayElimCell_128) .cse1)) (= (select (select (store |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| (store .cse6 |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |ULTIMATE.start_sll_circular_prepend_~new_head~1#1.offset|)) |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|) |ULTIMATE.start_sll_circular_prepend_~new_head~1#1.offset|)))))))) is different from false [2025-02-05 14:41:36,395 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2132520617] provided 0 perfect and 1 imperfect interpolant sequences [2025-02-05 14:41:36,395 INFO L185 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2025-02-05 14:41:36,395 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [24, 24] total 40 [2025-02-05 14:41:36,396 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [112093780] [2025-02-05 14:41:36,396 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2025-02-05 14:41:36,397 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 40 states [2025-02-05 14:41:36,397 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-02-05 14:41:36,398 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 40 interpolants. [2025-02-05 14:41:36,399 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=126, Invalid=1761, Unknown=9, NotChecked=84, Total=1980 [2025-02-05 14:41:36,399 INFO L87 Difference]: Start difference. First operand 61 states and 70 transitions. Second operand has 40 states, 38 states have (on average 1.4473684210526316) internal successors, (55), 32 states have internal predecessors, (55), 4 states have call successors, (4), 4 states have call predecessors, (4), 5 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2025-02-05 14:41:38,538 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-02-05 14:41:38,539 INFO L93 Difference]: Finished difference Result 73 states and 84 transitions. [2025-02-05 14:41:38,539 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2025-02-05 14:41:38,539 INFO L78 Accepts]: Start accepts. Automaton has has 40 states, 38 states have (on average 1.4473684210526316) internal successors, (55), 32 states have internal predecessors, (55), 4 states have call successors, (4), 4 states have call predecessors, (4), 5 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) Word has length 39 [2025-02-05 14:41:38,540 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2025-02-05 14:41:38,540 INFO L225 Difference]: With dead ends: 73 [2025-02-05 14:41:38,540 INFO L226 Difference]: Without dead ends: 70 [2025-02-05 14:41:38,541 INFO L434 NwaCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 33 SyntacticMatches, 1 SemanticMatches, 54 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 566 ImplicationChecksByTransitivity, 7.8s TimeCoverageRelationStatistics Valid=211, Invalid=2754, Unknown=9, NotChecked=106, Total=3080 [2025-02-05 14:41:38,541 INFO L435 NwaCegarLoop]: 17 mSDtfsCounter, 32 mSDsluCounter, 255 mSDsCounter, 0 mSdLazyCounter, 668 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 272 SdHoareTripleChecker+Invalid, 680 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 668 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2025-02-05 14:41:38,542 INFO L436 NwaCegarLoop]: SdHoareTripleChecker [32 Valid, 272 Invalid, 680 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 668 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2025-02-05 14:41:38,542 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2025-02-05 14:41:38,550 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 62. [2025-02-05 14:41:38,550 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 62 states, 53 states have (on average 1.150943396226415) internal successors, (61), 53 states have internal predecessors, (61), 5 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2025-02-05 14:41:38,551 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 62 states to 62 states and 71 transitions. [2025-02-05 14:41:38,551 INFO L78 Accepts]: Start accepts. Automaton has 62 states and 71 transitions. Word has length 39 [2025-02-05 14:41:38,551 INFO L84 Accepts]: Finished accepts. word is rejected. [2025-02-05 14:41:38,551 INFO L471 AbstractCegarLoop]: Abstraction has 62 states and 71 transitions. [2025-02-05 14:41:38,551 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 40 states, 38 states have (on average 1.4473684210526316) internal successors, (55), 32 states have internal predecessors, (55), 4 states have call successors, (4), 4 states have call predecessors, (4), 5 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2025-02-05 14:41:38,551 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 71 transitions. [2025-02-05 14:41:38,552 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2025-02-05 14:41:38,552 INFO L210 NwaCegarLoop]: Found error trace [2025-02-05 14:41:38,552 INFO L218 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-02-05 14:41:38,562 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2025-02-05 14:41:38,752 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 7 /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable6 [2025-02-05 14:41:38,753 INFO L396 AbstractCegarLoop]: === Iteration 8 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-02-05 14:41:38,753 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-05 14:41:38,753 INFO L85 PathProgramCache]: Analyzing trace with hash -73878935, now seen corresponding path program 1 times [2025-02-05 14:41:38,753 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-05 14:41:38,753 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1978741922] [2025-02-05 14:41:38,753 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-05 14:41:38,753 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-05 14:41:38,763 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 40 statements into 1 equivalence classes. [2025-02-05 14:41:38,778 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 40 of 40 statements. [2025-02-05 14:41:38,779 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-05 14:41:38,779 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-05 14:41:41,131 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 3 proven. 17 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-02-05 14:41:41,131 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-02-05 14:41:41,131 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1978741922] [2025-02-05 14:41:41,131 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1978741922] provided 0 perfect and 1 imperfect interpolant sequences [2025-02-05 14:41:41,131 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [999256581] [2025-02-05 14:41:41,131 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-05 14:41:41,131 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-02-05 14:41:41,132 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-05 14:41:41,137 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-02-05 14:41:41,139 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2025-02-05 14:41:41,240 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 40 statements into 1 equivalence classes. [2025-02-05 14:41:41,282 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 40 of 40 statements. [2025-02-05 14:41:41,282 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-05 14:41:41,282 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-05 14:41:41,285 INFO L256 TraceCheckSpWp]: Trace formula consists of 376 conjuncts, 175 conjuncts are in the unsatisfiable core [2025-02-05 14:41:41,291 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-02-05 14:41:41,330 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 6 treesize of output 5 [2025-02-05 14:41:41,356 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 [2025-02-05 14:41:41,760 INFO L349 Elim1Store]: treesize reduction 18, result has 35.7 percent of original size [2025-02-05 14:41:41,761 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 17 treesize of output 21 [2025-02-05 14:41:41,775 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 16 treesize of output 11 [2025-02-05 14:41:41,838 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 16 treesize of output 11 [2025-02-05 14:41:41,845 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 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 [2025-02-05 14:41:41,851 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 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 [2025-02-05 14:41:41,923 INFO L349 Elim1Store]: treesize reduction 19, result has 20.8 percent of original size [2025-02-05 14:41:41,924 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 2 new quantified variables, introduced 1 case distinctions, treesize of input 88 treesize of output 75 [2025-02-05 14:41:41,928 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 11 [2025-02-05 14:41:41,933 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 39 treesize of output 15 [2025-02-05 14:41:42,084 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 45 treesize of output 21 [2025-02-05 14:41:42,087 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 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 0 case distinctions, treesize of input 15 treesize of output 7 [2025-02-05 14:41:42,094 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 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 11 treesize of output 3 [2025-02-05 14:41:42,098 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 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 7 treesize of output 3 [2025-02-05 14:41:42,437 INFO L349 Elim1Store]: treesize reduction 21, result has 44.7 percent of original size [2025-02-05 14:41:42,437 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 23 [2025-02-05 14:41:42,452 INFO L190 IndexEqualityManager]: detected not equals via solver [2025-02-05 14:41:42,452 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 53 treesize of output 36 [2025-02-05 14:41:42,465 INFO L349 Elim1Store]: treesize reduction 29, result has 46.3 percent of original size [2025-02-05 14:41:42,465 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 1 case distinctions, treesize of input 24 treesize of output 31 [2025-02-05 14:41:42,486 INFO L349 Elim1Store]: treesize reduction 8, result has 72.4 percent of original size [2025-02-05 14:41:42,487 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 2 case distinctions, treesize of input 28 treesize of output 30 [2025-02-05 14:41:43,382 INFO L190 IndexEqualityManager]: detected not equals via solver [2025-02-05 14:41:43,385 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 62 treesize of output 43 [2025-02-05 14:41:43,387 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 0 case distinctions, treesize of input 198 treesize of output 131 [2025-02-05 14:41:43,392 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 51 treesize of output 52 [2025-02-05 14:41:43,396 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 2 new quantified variables, introduced 0 case distinctions, treesize of input 100 treesize of output 66 [2025-02-05 14:41:43,413 INFO L349 Elim1Store]: treesize reduction 60, result has 20.0 percent of original size [2025-02-05 14:41:43,414 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 4 new quantified variables, introduced 3 case distinctions, treesize of input 195 treesize of output 108 [2025-02-05 14:41:43,418 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 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 42 treesize of output 23 [2025-02-05 14:41:43,425 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 78 treesize of output 38 [2025-02-05 14:41:43,444 INFO L349 Elim1Store]: treesize reduction 37, result has 15.9 percent of original size [2025-02-05 14:41:43,444 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 26 treesize of output 21 [2025-02-05 14:41:43,531 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 97 treesize of output 65 [2025-02-05 14:41:43,773 INFO L349 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2025-02-05 14:41:43,773 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 3 new quantified variables, introduced 1 case distinctions, treesize of input 66 treesize of output 33 [2025-02-05 14:41:43,776 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 7 [2025-02-05 14:41:43,882 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 3 proven. 17 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-02-05 14:41:43,882 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-02-05 14:41:44,123 WARN L851 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_1117 (Array Int Int)) (v_ArrVal_1116 (Array Int Int)) (v_ArrVal_1115 (Array Int Int)) (v_ArrVal_1120 (Array Int Int))) (let ((.cse0 (store |c_#memory_int#1| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| v_ArrVal_1120))) (or (= |c_ULTIMATE.start_main_~data~0#1| (let ((.cse8 (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|)) (.cse7 (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|))) (let ((.cse4 (store (store |c_#memory_$Pointer$#1.offset| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| (store (select |c_#memory_$Pointer$#1.offset| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.offset| (select .cse7 |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|))) |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base| v_ArrVal_1116)) (.cse1 (store (store |c_#memory_$Pointer$#1.base| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base| (store (select |c_#memory_$Pointer$#1.base| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.offset| (select .cse8 |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|))) |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base| v_ArrVal_1117)) (.cse5 (select (select (store |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| (store .cse8 |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.base|)) |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|)) (.cse6 (select (select (store |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| (store .cse7 |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |c_ULTIMATE.start_sll_circular_prepend_~new_head~1#1.offset|)) |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse2 (select (select .cse1 .cse5) .cse6)) (.cse3 (select (select .cse4 .cse5) .cse6))) (select (select (store .cse0 |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base| v_ArrVal_1115) (select (select .cse1 .cse2) .cse3)) (+ (select (select .cse4 .cse2) .cse3) 4)))))) (not (= v_ArrVal_1115 (store (select .cse0 |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.base|) |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.offset| (select v_ArrVal_1115 |c_ULTIMATE.start_sll_circular_prepend_~last~1#1.offset|))))))) is different from false [2025-02-05 14:41:45,262 WARN L851 $PredicateComparison]: unable to prove that (forall ((|v_ULTIMATE.start_sll_circular_prepend_#t~ret9#1.base_34| Int) (v_ArrVal_1128 (Array Int Int)) (v_ArrVal_1117 (Array Int Int)) (v_ArrVal_1116 (Array Int Int)) (v_ArrVal_1115 (Array Int Int)) (v_ArrVal_1120 (Array Int Int)) (v_ArrVal_1130 (Array Int Int))) (let ((.cse11 (select |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|)) (.cse12 (select |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base|))) (let ((.cse3 (store |c_#memory_$Pointer$#1.offset| |v_ULTIMATE.start_sll_circular_prepend_#t~ret9#1.base_34| v_ArrVal_1128)) (.cse13 (select .cse12 |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|)) (.cse4 (select .cse11 |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset|))) (let ((.cse2 (select (select .cse3 .cse13) .cse4)) (.cse0 (store |c_#memory_int#1| |v_ULTIMATE.start_sll_circular_prepend_#t~ret9#1.base_34| v_ArrVal_1120)) (.cse1 (select (select (store |c_#memory_$Pointer$#1.base| |v_ULTIMATE.start_sll_circular_prepend_#t~ret9#1.base_34| v_ArrVal_1130) .cse13) .cse4))) (or (not (= v_ArrVal_1115 (store (select .cse0 .cse1) .cse2 (select v_ArrVal_1115 .cse2)))) (not (= (select |c_#valid| |v_ULTIMATE.start_sll_circular_prepend_#t~ret9#1.base_34|) 0)) (not (= (select (select .cse3 .cse1) .cse2) .cse4)) (= |c_ULTIMATE.start_main_~data~0#1| (let ((.cse8 (store (store |c_#memory_$Pointer$#1.offset| |v_ULTIMATE.start_sll_circular_prepend_#t~ret9#1.base_34| (store v_ArrVal_1128 0 .cse4)) .cse1 v_ArrVal_1116)) (.cse5 (store (store |c_#memory_$Pointer$#1.base| |v_ULTIMATE.start_sll_circular_prepend_#t~ret9#1.base_34| (store v_ArrVal_1130 0 .cse13)) .cse1 v_ArrVal_1117)) (.cse9 (select (select (store |c_#memory_$Pointer$#2.base| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| (store .cse12 |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| |v_ULTIMATE.start_sll_circular_prepend_#t~ret9#1.base_34|)) |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|)) (.cse10 (select (select (store |c_#memory_$Pointer$#2.offset| |c_ULTIMATE.start_sll_circular_prepend_~head#1.base| (store .cse11 |c_ULTIMATE.start_sll_circular_prepend_~head#1.offset| 0)) |c_ULTIMATE.start_main_~#s~0#1.base|) |c_ULTIMATE.start_main_~#s~0#1.offset|))) (let ((.cse6 (select (select .cse5 .cse9) .cse10)) (.cse7 (select (select .cse8 .cse9) .cse10))) (select (select (store .cse0 .cse1 v_ArrVal_1115) (select (select .cse5 .cse6) .cse7)) (+ (select (select .cse8 .cse6) .cse7) 4)))))))))) is different from false [2025-02-05 14:41:45,268 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [999256581] provided 0 perfect and 1 imperfect interpolant sequences [2025-02-05 14:41:45,268 INFO L185 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2025-02-05 14:41:45,268 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [28, 28] total 51 [2025-02-05 14:41:45,268 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1633400103] [2025-02-05 14:41:45,269 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2025-02-05 14:41:45,270 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 51 states [2025-02-05 14:41:45,270 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-02-05 14:41:45,272 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 51 interpolants. [2025-02-05 14:41:45,272 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=165, Invalid=3380, Unknown=3, NotChecked=234, Total=3782 [2025-02-05 14:41:45,273 INFO L87 Difference]: Start difference. First operand 62 states and 71 transitions. Second operand has 51 states, 47 states have (on average 1.3191489361702127) internal successors, (62), 42 states have internal predecessors, (62), 6 states have call successors, (6), 4 states have call predecessors, (6), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2025-02-05 14:41:48,450 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-02-05 14:41:48,451 INFO L93 Difference]: Finished difference Result 74 states and 85 transitions. [2025-02-05 14:41:48,451 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2025-02-05 14:41:48,451 INFO L78 Accepts]: Start accepts. Automaton has has 51 states, 47 states have (on average 1.3191489361702127) internal successors, (62), 42 states have internal predecessors, (62), 6 states have call successors, (6), 4 states have call predecessors, (6), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Word has length 40 [2025-02-05 14:41:48,451 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2025-02-05 14:41:48,452 INFO L225 Difference]: With dead ends: 74 [2025-02-05 14:41:48,452 INFO L226 Difference]: Without dead ends: 72 [2025-02-05 14:41:48,453 INFO L434 NwaCegarLoop]: 0 DeclaredPredicates, 103 GetRequests, 23 SyntacticMatches, 0 SemanticMatches, 80 ConstructedPredicates, 2 IntricatePredicates, 0 DeprecatedPredicates, 999 ImplicationChecksByTransitivity, 5.3s TimeCoverageRelationStatistics Valid=339, Invalid=5986, Unknown=3, NotChecked=314, Total=6642 [2025-02-05 14:41:48,453 INFO L435 NwaCegarLoop]: 14 mSDtfsCounter, 56 mSDsluCounter, 349 mSDsCounter, 0 mSdLazyCounter, 1281 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 58 SdHoareTripleChecker+Valid, 363 SdHoareTripleChecker+Invalid, 1292 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 1281 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.4s IncrementalHoareTripleChecker+Time [2025-02-05 14:41:48,454 INFO L436 NwaCegarLoop]: SdHoareTripleChecker [58 Valid, 363 Invalid, 1292 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 1281 Invalid, 0 Unknown, 0 Unchecked, 1.4s Time] [2025-02-05 14:41:48,454 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 72 states. [2025-02-05 14:41:48,461 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 72 to 64. [2025-02-05 14:41:48,461 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 64 states, 55 states have (on average 1.1454545454545455) internal successors, (63), 55 states have internal predecessors, (63), 5 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2025-02-05 14:41:48,461 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 64 states and 73 transitions. [2025-02-05 14:41:48,462 INFO L78 Accepts]: Start accepts. Automaton has 64 states and 73 transitions. Word has length 40 [2025-02-05 14:41:48,462 INFO L84 Accepts]: Finished accepts. word is rejected. [2025-02-05 14:41:48,462 INFO L471 AbstractCegarLoop]: Abstraction has 64 states and 73 transitions. [2025-02-05 14:41:48,462 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 51 states, 47 states have (on average 1.3191489361702127) internal successors, (62), 42 states have internal predecessors, (62), 6 states have call successors, (6), 4 states have call predecessors, (6), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2025-02-05 14:41:48,462 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 73 transitions. [2025-02-05 14:41:48,462 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2025-02-05 14:41:48,462 INFO L210 NwaCegarLoop]: Found error trace [2025-02-05 14:41:48,462 INFO L218 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-02-05 14:41:48,469 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Ended with exit code 0 [2025-02-05 14:41:48,663 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-02-05 14:41:48,663 INFO L396 AbstractCegarLoop]: === Iteration 9 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-02-05 14:41:48,663 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-05 14:41:48,663 INFO L85 PathProgramCache]: Analyzing trace with hash 2016859979, now seen corresponding path program 1 times [2025-02-05 14:41:48,664 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-05 14:41:48,664 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1860985206] [2025-02-05 14:41:48,664 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-05 14:41:48,664 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-05 14:41:48,675 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 42 statements into 1 equivalence classes. [2025-02-05 14:41:48,678 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 42 of 42 statements. [2025-02-05 14:41:48,678 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-05 14:41:48,678 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-05 14:41:48,750 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2025-02-05 14:41:48,751 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-02-05 14:41:48,751 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1860985206] [2025-02-05 14:41:48,751 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1860985206] provided 0 perfect and 1 imperfect interpolant sequences [2025-02-05 14:41:48,751 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [380028803] [2025-02-05 14:41:48,751 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-05 14:41:48,751 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-02-05 14:41:48,751 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-05 14:41:48,754 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-02-05 14:41:48,755 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2025-02-05 14:41:48,852 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 42 statements into 1 equivalence classes. [2025-02-05 14:41:48,885 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 42 of 42 statements. [2025-02-05 14:41:48,885 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-05 14:41:48,885 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-05 14:41:48,887 INFO L256 TraceCheckSpWp]: Trace formula consists of 392 conjuncts, 9 conjuncts are in the unsatisfiable core [2025-02-05 14:41:48,888 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-02-05 14:41:49,004 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2025-02-05 14:41:49,004 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-02-05 14:41:49,048 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2025-02-05 14:41:49,048 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [380028803] provided 0 perfect and 2 imperfect interpolant sequences [2025-02-05 14:41:49,049 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-02-05 14:41:49,049 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6, 6] total 9 [2025-02-05 14:41:49,049 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [734252406] [2025-02-05 14:41:49,049 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-02-05 14:41:49,049 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2025-02-05 14:41:49,049 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-02-05 14:41:49,050 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2025-02-05 14:41:49,050 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=51, Unknown=0, NotChecked=0, Total=72 [2025-02-05 14:41:49,050 INFO L87 Difference]: Start difference. First operand 64 states and 73 transitions. Second operand has 9 states, 9 states have (on average 3.888888888888889) internal successors, (35), 9 states have internal predecessors, (35), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2025-02-05 14:41:49,084 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-02-05 14:41:49,084 INFO L93 Difference]: Finished difference Result 84 states and 93 transitions. [2025-02-05 14:41:49,084 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2025-02-05 14:41:49,084 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.888888888888889) internal successors, (35), 9 states have internal predecessors, (35), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 42 [2025-02-05 14:41:49,085 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2025-02-05 14:41:49,085 INFO L225 Difference]: With dead ends: 84 [2025-02-05 14:41:49,085 INFO L226 Difference]: Without dead ends: 81 [2025-02-05 14:41:49,085 INFO L434 NwaCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 81 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=21, Invalid=51, Unknown=0, NotChecked=0, Total=72 [2025-02-05 14:41:49,086 INFO L435 NwaCegarLoop]: 39 mSDtfsCounter, 28 mSDsluCounter, 133 mSDsCounter, 0 mSdLazyCounter, 43 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 28 SdHoareTripleChecker+Valid, 172 SdHoareTripleChecker+Invalid, 43 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 43 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2025-02-05 14:41:49,086 INFO L436 NwaCegarLoop]: SdHoareTripleChecker [28 Valid, 172 Invalid, 43 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 43 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2025-02-05 14:41:49,086 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2025-02-05 14:41:49,099 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 70. [2025-02-05 14:41:49,099 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 70 states, 61 states have (on average 1.180327868852459) internal successors, (72), 61 states have internal predecessors, (72), 5 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2025-02-05 14:41:49,100 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70 states to 70 states and 82 transitions. [2025-02-05 14:41:49,100 INFO L78 Accepts]: Start accepts. Automaton has 70 states and 82 transitions. Word has length 42 [2025-02-05 14:41:49,100 INFO L84 Accepts]: Finished accepts. word is rejected. [2025-02-05 14:41:49,100 INFO L471 AbstractCegarLoop]: Abstraction has 70 states and 82 transitions. [2025-02-05 14:41:49,100 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 3.888888888888889) internal successors, (35), 9 states have internal predecessors, (35), 1 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2025-02-05 14:41:49,100 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 82 transitions. [2025-02-05 14:41:49,101 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2025-02-05 14:41:49,101 INFO L210 NwaCegarLoop]: Found error trace [2025-02-05 14:41:49,101 INFO L218 NwaCegarLoop]: trace histogram [4, 4, 4, 4, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-02-05 14:41:49,110 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2025-02-05 14:41:49,302 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,9 /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-02-05 14:41:49,303 INFO L396 AbstractCegarLoop]: === Iteration 10 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-02-05 14:41:49,303 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-05 14:41:49,303 INFO L85 PathProgramCache]: Analyzing trace with hash -847611977, now seen corresponding path program 1 times [2025-02-05 14:41:49,303 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-05 14:41:49,303 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1818803839] [2025-02-05 14:41:49,303 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-05 14:41:49,303 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-05 14:41:49,331 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 43 statements into 1 equivalence classes. [2025-02-05 14:41:49,334 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 43 of 43 statements. [2025-02-05 14:41:49,334 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-05 14:41:49,334 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-05 14:41:49,379 INFO L134 CoverageAnalysis]: Checked inductivity of 35 backedges. 4 proven. 1 refuted. 0 times theorem prover too weak. 30 trivial. 0 not checked. [2025-02-05 14:41:49,379 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-02-05 14:41:49,379 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1818803839] [2025-02-05 14:41:49,379 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1818803839] provided 0 perfect and 1 imperfect interpolant sequences [2025-02-05 14:41:49,379 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1557578858] [2025-02-05 14:41:49,379 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-05 14:41:49,379 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-02-05 14:41:49,379 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-05 14:41:49,382 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-02-05 14:41:49,386 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2025-02-05 14:41:49,535 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 43 statements into 1 equivalence classes. [2025-02-05 14:41:49,573 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 43 of 43 statements. [2025-02-05 14:41:49,573 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-05 14:41:49,573 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-05 14:41:49,579 INFO L256 TraceCheckSpWp]: Trace formula consists of 423 conjuncts, 5 conjuncts are in the unsatisfiable core [2025-02-05 14:41:49,591 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-02-05 14:41:49,609 INFO L134 CoverageAnalysis]: Checked inductivity of 35 backedges. 25 proven. 0 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2025-02-05 14:41:49,609 INFO L308 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2025-02-05 14:41:49,609 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1557578858] provided 1 perfect and 0 imperfect interpolant sequences [2025-02-05 14:41:49,609 INFO L185 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2025-02-05 14:41:49,609 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [4] total 5 [2025-02-05 14:41:49,609 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1875204649] [2025-02-05 14:41:49,609 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-02-05 14:41:49,609 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2025-02-05 14:41:49,610 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-02-05 14:41:49,610 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2025-02-05 14:41:49,610 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2025-02-05 14:41:49,610 INFO L87 Difference]: Start difference. First operand 70 states and 82 transitions. Second operand has 4 states, 4 states have (on average 6.75) internal successors, (27), 4 states have internal predecessors, (27), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2025-02-05 14:41:49,627 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-02-05 14:41:49,627 INFO L93 Difference]: Finished difference Result 82 states and 94 transitions. [2025-02-05 14:41:49,627 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2025-02-05 14:41:49,627 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 6.75) internal successors, (27), 4 states have internal predecessors, (27), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 43 [2025-02-05 14:41:49,628 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2025-02-05 14:41:49,628 INFO L225 Difference]: With dead ends: 82 [2025-02-05 14:41:49,629 INFO L226 Difference]: Without dead ends: 41 [2025-02-05 14:41:49,629 INFO L434 NwaCegarLoop]: 0 DeclaredPredicates, 46 GetRequests, 43 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2025-02-05 14:41:49,629 INFO L435 NwaCegarLoop]: 29 mSDtfsCounter, 0 mSDsluCounter, 49 mSDsCounter, 0 mSdLazyCounter, 11 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 78 SdHoareTripleChecker+Invalid, 11 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 11 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2025-02-05 14:41:49,630 INFO L436 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 78 Invalid, 11 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 11 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2025-02-05 14:41:49,630 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2025-02-05 14:41:49,645 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 41. [2025-02-05 14:41:49,646 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 35 states have (on average 1.0571428571428572) internal successors, (37), 35 states have internal predecessors, (37), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2025-02-05 14:41:49,646 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 43 transitions. [2025-02-05 14:41:49,646 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 43 transitions. Word has length 43 [2025-02-05 14:41:49,646 INFO L84 Accepts]: Finished accepts. word is rejected. [2025-02-05 14:41:49,646 INFO L471 AbstractCegarLoop]: Abstraction has 41 states and 43 transitions. [2025-02-05 14:41:49,646 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 6.75) internal successors, (27), 4 states have internal predecessors, (27), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2025-02-05 14:41:49,646 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 43 transitions. [2025-02-05 14:41:49,647 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2025-02-05 14:41:49,647 INFO L210 NwaCegarLoop]: Found error trace [2025-02-05 14:41:49,647 INFO L218 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-02-05 14:41:49,666 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2025-02-05 14:41:49,847 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9,10 /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-02-05 14:41:49,848 INFO L396 AbstractCegarLoop]: === Iteration 11 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-02-05 14:41:49,848 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-05 14:41:49,848 INFO L85 PathProgramCache]: Analyzing trace with hash -1901869772, now seen corresponding path program 2 times [2025-02-05 14:41:49,848 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-05 14:41:49,848 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [157065139] [2025-02-05 14:41:49,848 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-02-05 14:41:49,848 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-05 14:41:49,863 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 43 statements into 2 equivalence classes. [2025-02-05 14:41:49,884 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 43 of 43 statements. [2025-02-05 14:41:49,885 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-02-05 14:41:49,885 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-05 14:41:51,158 INFO L134 CoverageAnalysis]: Checked inductivity of 25 backedges. 11 proven. 14 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-02-05 14:41:51,158 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-02-05 14:41:51,158 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [157065139] [2025-02-05 14:41:51,158 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [157065139] provided 0 perfect and 1 imperfect interpolant sequences [2025-02-05 14:41:51,158 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1694502048] [2025-02-05 14:41:51,158 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-02-05 14:41:51,158 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-02-05 14:41:51,159 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-05 14:41:51,160 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-02-05 14:41:51,162 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2025-02-05 14:41:51,274 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 43 statements into 2 equivalence classes. [2025-02-05 14:41:51,332 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 43 of 43 statements. [2025-02-05 14:41:51,332 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-02-05 14:41:51,332 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-05 14:41:51,335 INFO L256 TraceCheckSpWp]: Trace formula consists of 391 conjuncts, 177 conjuncts are in the unsatisfiable core [2025-02-05 14:41:51,347 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-02-05 14:41:51,375 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 6 treesize of output 5 [2025-02-05 14:41:51,560 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 15 treesize of output 1 [2025-02-05 14:41:51,626 INFO L349 Elim1Store]: treesize reduction 18, result has 35.7 percent of original size [2025-02-05 14:41:51,627 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 17 treesize of output 21 [2025-02-05 14:41:51,687 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 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 [2025-02-05 14:41:51,693 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 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 [2025-02-05 14:41:51,700 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 2 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 [2025-02-05 14:41:51,752 INFO L349 Elim1Store]: treesize reduction 19, result has 20.8 percent of original size [2025-02-05 14:41:51,753 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 2 new quantified variables, introduced 1 case distinctions, treesize of input 66 treesize of output 57 [2025-02-05 14:41:51,759 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 11 [2025-02-05 14:41:51,762 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 11 [2025-02-05 14:41:51,879 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 30 treesize of output 14 [2025-02-05 14:41:51,887 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 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 11 treesize of output 3 [2025-02-05 14:41:51,891 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 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 11 treesize of output 3 [2025-02-05 14:41:51,895 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 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 0 case distinctions, treesize of input 15 treesize of output 7 [2025-02-05 14:41:52,144 INFO L190 IndexEqualityManager]: detected not equals via solver [2025-02-05 14:41:52,146 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 38 treesize of output 27 [2025-02-05 14:41:52,159 INFO L349 Elim1Store]: treesize reduction 8, result has 72.4 percent of original size [2025-02-05 14:41:52,159 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 2 case distinctions, treesize of input 28 treesize of output 30 [2025-02-05 14:41:52,171 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 20 treesize of output 15 [2025-02-05 14:41:52,183 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 20 treesize of output 15 [2025-02-05 14:41:53,014 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 0 case distinctions, treesize of input 395 treesize of output 267 [2025-02-05 14:41:53,045 INFO L349 Elim1Store]: treesize reduction 66, result has 18.5 percent of original size [2025-02-05 14:41:53,045 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 4 new quantified variables, introduced 3 case distinctions, treesize of input 253 treesize of output 141 [2025-02-05 14:41:53,052 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 118 treesize of output 52 [2025-02-05 14:41:53,058 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 65 treesize of output 15 [2025-02-05 14:41:53,090 INFO L349 Elim1Store]: treesize reduction 37, result has 15.9 percent of original size [2025-02-05 14:41:53,090 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 26 treesize of output 21 [2025-02-05 14:41:53,244 INFO L190 IndexEqualityManager]: detected not equals via solver [2025-02-05 14:41:53,245 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 0 case distinctions, treesize of input 19 treesize of output 7 [2025-02-05 14:41:53,960 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 121 treesize of output 81 [2025-02-05 14:41:53,993 INFO L349 Elim1Store]: treesize reduction 123, result has 12.8 percent of original size [2025-02-05 14:41:53,993 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 6 select indices, 6 select index equivalence classes, 0 disjoint index pairs (out of 15 index pairs), introduced 12 new quantified variables, introduced 15 case distinctions, treesize of input 190 treesize of output 85 [2025-02-05 14:41:53,998 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 0 case distinctions, treesize of input 22 treesize of output 10 [2025-02-05 14:41:54,041 INFO L134 CoverageAnalysis]: Checked inductivity of 25 backedges. 11 proven. 14 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-02-05 14:41:54,042 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-02-05 14:41:57,376 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1694502048] provided 0 perfect and 1 imperfect interpolant sequences [2025-02-05 14:41:57,376 INFO L185 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2025-02-05 14:41:57,377 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [25, 28] total 50 [2025-02-05 14:41:57,377 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [10165964] [2025-02-05 14:41:57,377 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2025-02-05 14:41:57,377 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 50 states [2025-02-05 14:41:57,377 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-02-05 14:41:57,378 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 50 interpolants. [2025-02-05 14:41:57,379 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=231, Invalid=3191, Unknown=0, NotChecked=0, Total=3422 [2025-02-05 14:41:57,379 INFO L87 Difference]: Start difference. First operand 41 states and 43 transitions. Second operand has 50 states, 47 states have (on average 1.4893617021276595) internal successors, (70), 41 states have internal predecessors, (70), 6 states have call successors, (6), 4 states have call predecessors, (6), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2025-02-05 14:41:59,199 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-02-05 14:41:59,199 INFO L93 Difference]: Finished difference Result 41 states and 43 transitions. [2025-02-05 14:41:59,199 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2025-02-05 14:41:59,199 INFO L78 Accepts]: Start accepts. Automaton has has 50 states, 47 states have (on average 1.4893617021276595) internal successors, (70), 41 states have internal predecessors, (70), 6 states have call successors, (6), 4 states have call predecessors, (6), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Word has length 43 [2025-02-05 14:41:59,199 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2025-02-05 14:41:59,199 INFO L225 Difference]: With dead ends: 41 [2025-02-05 14:41:59,199 INFO L226 Difference]: Without dead ends: 0 [2025-02-05 14:41:59,201 INFO L434 NwaCegarLoop]: 0 DeclaredPredicates, 101 GetRequests, 29 SyntacticMatches, 0 SemanticMatches, 72 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1234 ImplicationChecksByTransitivity, 5.9s TimeCoverageRelationStatistics Valid=385, Invalid=5017, Unknown=0, NotChecked=0, Total=5402 [2025-02-05 14:41:59,201 INFO L435 NwaCegarLoop]: 8 mSDtfsCounter, 16 mSDsluCounter, 145 mSDsCounter, 0 mSdLazyCounter, 957 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 153 SdHoareTripleChecker+Invalid, 963 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 957 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2025-02-05 14:41:59,201 INFO L436 NwaCegarLoop]: SdHoareTripleChecker [16 Valid, 153 Invalid, 963 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 957 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2025-02-05 14:41:59,201 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2025-02-05 14:41:59,201 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2025-02-05 14:41:59,201 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 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) [2025-02-05 14:41:59,201 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2025-02-05 14:41:59,201 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 43 [2025-02-05 14:41:59,201 INFO L84 Accepts]: Finished accepts. word is rejected. [2025-02-05 14:41:59,201 INFO L471 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2025-02-05 14:41:59,202 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 50 states, 47 states have (on average 1.4893617021276595) internal successors, (70), 41 states have internal predecessors, (70), 6 states have call successors, (6), 4 states have call predecessors, (6), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2025-02-05 14:41:59,202 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2025-02-05 14:41:59,202 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2025-02-05 14:41:59,204 INFO L782 garLoopResultBuilder]: Registering result SAFE for location ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2025-02-05 14:41:59,213 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Ended with exit code 0 [2025-02-05 14:41:59,404 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10,11 /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-02-05 14:41:59,407 INFO L422 BasicCegarLoop]: Path program histogram: [2, 2, 1, 1, 1, 1, 1, 1, 1] [2025-02-05 14:41:59,410 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2025-02-05 14:42:11,270 INFO L170 ceAbstractionStarter]: Computing trace abstraction results [2025-02-05 14:42:11,277 FATAL L? ?]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction has thrown an exception: java.lang.IllegalArgumentException: unknown symbol (@diff (Array Int Int) (Array Int Int) Int) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.boogie.Term2Expression.getBinaryOperator(Term2Expression.java:580) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.boogie.Term2Expression.translate(Term2Expression.java:283) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.boogie.Term2Expression.translate(Term2Expression.java:138) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.boogie.Term2Expression.translateStore(Term2Expression.java:358) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.boogie.Term2Expression.translate(Term2Expression.java:166) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.boogie.Term2Expression.translate(Term2Expression.java:138) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.boogie.Term2Expression.translate(Term2Expression.java:174) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.boogie.Term2Expression.translate(Term2Expression.java:138) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.boogie.Term2Expression.translate(Term2Expression.java:174) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.boogie.Term2Expression.translate(Term2Expression.java:138) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.boogie.Term2Expression.translate(Term2Expression.java:483) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.boogie.Term2Expression.translate(Term2Expression.java:144) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.boogie.Term2Expression.translate(Term2Expression.java:174) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.boogie.Term2Expression.translate(Term2Expression.java:138) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.boogie.Term2Expression.translate(Term2Expression.java:174) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.boogie.Term2Expression.translate(Term2Expression.java:138) at de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder.IcfgBacktranslator.translateExpression(IcfgBacktranslator.java:426) at de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder.IcfgBacktranslator.translateExpression(IcfgBacktranslator.java:1) at de.uni_freiburg.informatik.ultimate.core.lib.translation.DefaultTranslator.translateExpressionWithContext(DefaultTranslator.java:167) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ModelTranslationContainer.translateExpressionWithContext(ModelTranslationContainer.java:109) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ModelTranslationContainer.translateExpressionWithContext(ModelTranslationContainer.java:91) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.BacktranslationService.translateExpressionWithContext(BacktranslationService.java:117) at de.uni_freiburg.informatik.ultimate.lib.proofs.floydhoare.FloydHoareUtils.createInvariantResults(FloydHoareUtils.java:126) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:197) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:140) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:132) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:167) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:150) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:127) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:233) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:227) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:144) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:106) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:319) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) [2025-02-05 14:42:11,282 INFO L158 Benchmark]: Toolchain (without parser) took 89931.72ms. Allocated memory was 167.8MB in the beginning and 704.6MB in the end (delta: 536.9MB). Free memory was 119.7MB in the beginning and 286.7MB in the end (delta: -167.0MB). Peak memory consumption was 376.7MB. Max. memory is 16.1GB. [2025-02-05 14:42:11,282 INFO L158 Benchmark]: CDTParser took 0.46ms. Allocated memory is still 184.5MB. Free memory is still 99.6MB. There was no memory consumed. Max. memory is 16.1GB. [2025-02-05 14:42:11,283 INFO L158 Benchmark]: CACSL2BoogieTranslator took 429.79ms. Allocated memory is still 167.8MB. Free memory was 119.0MB in the beginning and 101.6MB in the end (delta: 17.4MB). Peak memory consumption was 16.8MB. Max. memory is 16.1GB. [2025-02-05 14:42:11,283 INFO L158 Benchmark]: Boogie Procedure Inliner took 40.79ms. Allocated memory is still 167.8MB. Free memory was 101.6MB in the beginning and 99.5MB in the end (delta: 2.1MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2025-02-05 14:42:11,283 INFO L158 Benchmark]: Boogie Preprocessor took 59.38ms. Allocated memory is still 167.8MB. Free memory was 99.5MB in the beginning and 96.7MB in the end (delta: 2.8MB). There was no memory consumed. Max. memory is 16.1GB. [2025-02-05 14:42:11,283 INFO L158 Benchmark]: IcfgBuilder took 381.28ms. Allocated memory is still 167.8MB. Free memory was 96.7MB in the beginning and 78.3MB in the end (delta: 18.4MB). Peak memory consumption was 16.8MB. Max. memory is 16.1GB. [2025-02-05 14:42:11,284 INFO L158 Benchmark]: TraceAbstraction took 89014.93ms. Allocated memory was 167.8MB in the beginning and 704.6MB in the end (delta: 536.9MB). Free memory was 77.6MB in the beginning and 286.7MB in the end (delta: -209.2MB). Peak memory consumption was 334.8MB. Max. memory is 16.1GB. [2025-02-05 14:42:11,284 INFO L338 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.46ms. Allocated memory is still 184.5MB. Free memory is still 99.6MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 429.79ms. Allocated memory is still 167.8MB. Free memory was 119.0MB in the beginning and 101.6MB in the end (delta: 17.4MB). Peak memory consumption was 16.8MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 40.79ms. Allocated memory is still 167.8MB. Free memory was 101.6MB in the beginning and 99.5MB in the end (delta: 2.1MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * Boogie Preprocessor took 59.38ms. Allocated memory is still 167.8MB. Free memory was 99.5MB in the beginning and 96.7MB in the end (delta: 2.8MB). There was no memory consumed. Max. memory is 16.1GB. * IcfgBuilder took 381.28ms. Allocated memory is still 167.8MB. Free memory was 96.7MB in the beginning and 78.3MB in the end (delta: 18.4MB). Peak memory consumption was 16.8MB. Max. memory is 16.1GB. * TraceAbstraction took 89014.93ms. Allocated memory was 167.8MB in the beginning and 704.6MB in the end (delta: 536.9MB). Free memory was 77.6MB in the beginning and 286.7MB in the end (delta: -209.2MB). Peak memory consumption was 334.8MB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - PositiveResult [Line: 645]: a call to reach_error is unreachable For all program executions holds that a call to reach_error is unreachable at this location - StatisticsResult: Ultimate Automizer benchmark data CFG has 2 procedures, 34 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 77.1s, OverallIterations: 11, TraceHistogramMax: 4, PathProgramHistogramMax: 2, EmptinessCheckTime: 0.0s, AutomataDifference: 31.4s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 5 mSolverCounterUnknown, 198 SdHoareTripleChecker+Valid, 24.9s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 194 mSDsluCounter, 2786 SdHoareTripleChecker+Invalid, 24.4s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 2548 IncrementalHoareTripleChecker+Unchecked, 2516 mSDsCounter, 64 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 5062 IncrementalHoareTripleChecker+Invalid, 7679 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 64 mSolverCounterUnsat, 270 mSDtfsCounter, 5062 mSolverCounterSat, 0.1s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 839 GetRequests, 364 SyntacticMatches, 6 SemanticMatches, 469 ConstructedPredicates, 68 IntricatePredicates, 0 DeprecatedPredicates, 4163 ImplicationChecksByTransitivity, 29.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=70occurred in iteration=9, InterpolantAutomatonStates: 191, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.1s AutomataMinimizationTime, 11 MinimizatonAttempts, 37 StatesRemovedByMinimization, 7 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.2s SsaConstructionTime, 0.6s SatisfiabilityAnalysisTime, 41.6s InterpolantComputationTime, 780 NumberOfCodeBlocks, 780 NumberOfCodeBlocksAsserted, 25 NumberOfCheckSat, 829 ConstructedInterpolants, 114 QuantifiedInterpolants, 19261 SizeOfPredicates, 106 NumberOfNonLiveVariables, 3688 ConjunctsInSsa, 1013 ConjunctsInUnsatCore, 23 InterpolantComputations, 2 PerfectInterpolantSequences, 260/460 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available, ConComCheckerStatistics: No data available - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - ExceptionOrErrorResult: IllegalArgumentException: unknown symbol (@diff (Array Int Int) (Array Int Int) Int) de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: IllegalArgumentException: unknown symbol (@diff (Array Int Int) (Array Int Int) Int): de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.boogie.Term2Expression.getBinaryOperator(Term2Expression.java:580) RESULT: Ultimate could not prove your program: Toolchain returned no result. [2025-02-05 14:42:11,455 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (1)] Ended with exit code 0 Received shutdown request... --- End real Ultimate output --- Execution finished normally Using bit-precise analysis Retrying with bit-precise analysis ### Bit-precise run ### Calling Ultimate with: /root/.sdkman/candidates/java/21.0.5-tem/bin/java -Dosgi.configuration.area=/storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.6.800.v20240513-1750.jar -data @noDefault -ultimatedata /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/list-simple/sll2c_prepend_unequal.i -s /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(reach_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash f2f6ef7968fa573a7da88ae0a516f1d800f437d82b0fa75227e8d7d318952eb1 --- Real Ultimate output --- This is Ultimate 0.3.0-?-c00e63d-m [2025-02-05 14:42:13,113 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-02-05 14:42:13,181 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Bitvector.epf [2025-02-05 14:42:13,190 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-02-05 14:42:13,192 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-02-05 14:42:13,215 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-02-05 14:42:13,216 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-02-05 14:42:13,216 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-02-05 14:42:13,217 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2025-02-05 14:42:13,217 INFO L153 SettingsManager]: * Use memory slicer=true [2025-02-05 14:42:13,218 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2025-02-05 14:42:13,218 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2025-02-05 14:42:13,218 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-02-05 14:42:13,218 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-02-05 14:42:13,218 INFO L153 SettingsManager]: * Use SBE=true [2025-02-05 14:42:13,219 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-02-05 14:42:13,219 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2025-02-05 14:42:13,219 INFO L153 SettingsManager]: * sizeof long=4 [2025-02-05 14:42:13,219 INFO L153 SettingsManager]: * sizeof POINTER=4 [2025-02-05 14:42:13,219 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-02-05 14:42:13,219 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2025-02-05 14:42:13,219 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2025-02-05 14:42:13,219 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2025-02-05 14:42:13,219 INFO L153 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2025-02-05 14:42:13,220 INFO L153 SettingsManager]: * Use bitvectors instead of ints=true [2025-02-05 14:42:13,220 INFO L153 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2025-02-05 14:42:13,220 INFO L153 SettingsManager]: * sizeof long double=12 [2025-02-05 14:42:13,220 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-02-05 14:42:13,220 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-02-05 14:42:13,220 INFO L153 SettingsManager]: * Use constant arrays=true [2025-02-05 14:42:13,220 INFO L151 SettingsManager]: Preferences of IcfgBuilder differ from their defaults: [2025-02-05 14:42:13,220 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-02-05 14:42:13,220 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-02-05 14:42:13,221 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-02-05 14:42:13,221 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-02-05 14:42:13,221 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-02-05 14:42:13,221 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2025-02-05 14:42:13,221 INFO L153 SettingsManager]: * Compute procedure contracts=false [2025-02-05 14:42:13,221 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2025-02-05 14:42:13,221 INFO L153 SettingsManager]: * Trace refinement strategy=FOX [2025-02-05 14:42:13,221 INFO L153 SettingsManager]: * Command for external solver=cvc4 --incremental --print-success --lang smt [2025-02-05 14:42:13,221 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2025-02-05 14:42:13,222 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2025-02-05 14:42:13,222 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2025-02-05 14:42:13,222 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2025-02-05 14:42:13,222 INFO L153 SettingsManager]: * Looper check in Petri net analysis=SEMANTIC 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-jdk21/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(G ! call(reach_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> f2f6ef7968fa573a7da88ae0a516f1d800f437d82b0fa75227e8d7d318952eb1 [2025-02-05 14:42:13,451 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-02-05 14:42:13,456 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-02-05 14:42:13,458 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-02-05 14:42:13,460 INFO L270 PluginConnector]: Initializing CDTParser... [2025-02-05 14:42:13,460 INFO L274 PluginConnector]: CDTParser initialized [2025-02-05 14:42:13,462 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/list-simple/sll2c_prepend_unequal.i [2025-02-05 14:42:14,660 INFO L533 CDTParser]: Created temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/5ad82a6c4/dd2c7feddfcd406bbd474edaff5cf071/FLAG6260a7cc6 [2025-02-05 14:42:14,915 INFO L384 CDTParser]: Found 1 translation units. [2025-02-05 14:42:14,918 INFO L180 CDTParser]: Scanning /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/list-simple/sll2c_prepend_unequal.i [2025-02-05 14:42:14,930 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/5ad82a6c4/dd2c7feddfcd406bbd474edaff5cf071/FLAG6260a7cc6 [2025-02-05 14:42:15,235 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/5ad82a6c4/dd2c7feddfcd406bbd474edaff5cf071 [2025-02-05 14:42:15,237 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-02-05 14:42:15,238 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2025-02-05 14:42:15,239 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-02-05 14:42:15,239 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-02-05 14:42:15,242 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-02-05 14:42:15,243 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 05.02 02:42:15" (1/1) ... [2025-02-05 14:42:15,243 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@5d531bec and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 05.02 02:42:15, skipping insertion in model container [2025-02-05 14:42:15,243 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 05.02 02:42:15" (1/1) ... [2025-02-05 14:42:15,263 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-02-05 14:42:15,445 WARN L250 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/list-simple/sll2c_prepend_unequal.i[24547,24560] [2025-02-05 14:42:15,448 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-02-05 14:42:15,460 INFO L200 MainTranslator]: Completed pre-run [2025-02-05 14:42:15,497 WARN L250 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/list-simple/sll2c_prepend_unequal.i[24547,24560] [2025-02-05 14:42:15,498 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-02-05 14:42:15,522 INFO L204 MainTranslator]: Completed translation [2025-02-05 14:42:15,523 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 05.02 02:42:15 WrapperNode [2025-02-05 14:42:15,523 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-02-05 14:42:15,523 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-02-05 14:42:15,523 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-02-05 14:42:15,524 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-02-05 14:42:15,528 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 05.02 02:42:15" (1/1) ... [2025-02-05 14:42:15,537 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 05.02 02:42:15" (1/1) ... [2025-02-05 14:42:15,556 INFO L138 Inliner]: procedures = 130, calls = 45, calls flagged for inlining = 6, calls inlined = 6, statements flattened = 142 [2025-02-05 14:42:15,556 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-02-05 14:42:15,557 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-02-05 14:42:15,557 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-02-05 14:42:15,557 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-02-05 14:42:15,563 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 05.02 02:42:15" (1/1) ... [2025-02-05 14:42:15,563 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 05.02 02:42:15" (1/1) ... [2025-02-05 14:42:15,570 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 05.02 02:42:15" (1/1) ... [2025-02-05 14:42:15,597 INFO L175 MemorySlicer]: Split 27 memory accesses to 3 slices as follows [2, 10, 15]. 56 percent of accesses are in the largest equivalence class. The 3 initializations are split as follows [2, 1, 0]. The 9 writes are split as follows [0, 2, 7]. [2025-02-05 14:42:15,598 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 05.02 02:42:15" (1/1) ... [2025-02-05 14:42:15,598 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 05.02 02:42:15" (1/1) ... [2025-02-05 14:42:15,609 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 05.02 02:42:15" (1/1) ... [2025-02-05 14:42:15,612 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 05.02 02:42:15" (1/1) ... [2025-02-05 14:42:15,614 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 05.02 02:42:15" (1/1) ... [2025-02-05 14:42:15,618 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 05.02 02:42:15" (1/1) ... [2025-02-05 14:42:15,621 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-02-05 14:42:15,624 INFO L112 PluginConnector]: ------------------------IcfgBuilder---------------------------- [2025-02-05 14:42:15,624 INFO L270 PluginConnector]: Initializing IcfgBuilder... [2025-02-05 14:42:15,624 INFO L274 PluginConnector]: IcfgBuilder initialized [2025-02-05 14:42:15,625 INFO L184 PluginConnector]: Executing the observer IcfgBuilderObserver from plugin IcfgBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 05.02 02:42:15" (1/1) ... [2025-02-05 14:42:15,629 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-02-05 14:42:15,639 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-05 14:42:15,650 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (exit command is (exit), workingDir is null) [2025-02-05 14:42:15,652 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (1)] Waiting until timeout for monitored process [2025-02-05 14:42:15,675 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4#0 [2025-02-05 14:42:15,676 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4#1 [2025-02-05 14:42:15,676 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4#2 [2025-02-05 14:42:15,676 INFO L130 BoogieDeclarations]: Found specification of procedure node_create [2025-02-05 14:42:15,676 INFO L138 BoogieDeclarations]: Found implementation of procedure node_create [2025-02-05 14:42:15,676 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2025-02-05 14:42:15,676 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2025-02-05 14:42:15,676 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2025-02-05 14:42:15,676 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$#0 [2025-02-05 14:42:15,676 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$#1 [2025-02-05 14:42:15,676 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$#2 [2025-02-05 14:42:15,676 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$#0 [2025-02-05 14:42:15,677 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$#1 [2025-02-05 14:42:15,677 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$#2 [2025-02-05 14:42:15,677 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2025-02-05 14:42:15,677 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4#0 [2025-02-05 14:42:15,678 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4#1 [2025-02-05 14:42:15,678 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4#2 [2025-02-05 14:42:15,678 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~$Pointer$#0 [2025-02-05 14:42:15,678 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~$Pointer$#1 [2025-02-05 14:42:15,678 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~$Pointer$#2 [2025-02-05 14:42:15,678 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1#0 [2025-02-05 14:42:15,678 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1#1 [2025-02-05 14:42:15,678 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1#2 [2025-02-05 14:42:15,678 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-02-05 14:42:15,678 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-02-05 14:42:15,801 INFO L257 CfgBuilder]: Building ICFG [2025-02-05 14:42:15,803 INFO L287 CfgBuilder]: Building CFG for each procedure with an implementation [2025-02-05 14:42:16,051 INFO L1309 $ProcedureCfgBuilder]: dead code at ProgramPoint L624: call ULTIMATE.dealloc(main_~#s~0#1.base, main_~#s~0#1.offset);havoc main_~#s~0#1.base, main_~#s~0#1.offset; [2025-02-05 14:42:16,075 INFO L1309 $ProcedureCfgBuilder]: dead code at ProgramPoint myexit_returnLabel#1: havoc myexit_~s#1;havoc myexit_#in~s#1;assume { :end_inline_myexit } true; [2025-02-05 14:42:16,089 INFO L? ?]: Removed 47 outVars from TransFormulas that were not future-live. [2025-02-05 14:42:16,089 INFO L308 CfgBuilder]: Performing block encoding [2025-02-05 14:42:16,096 INFO L332 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-02-05 14:42:16,096 INFO L337 CfgBuilder]: Removed 0 assume(true) statements. [2025-02-05 14:42:16,096 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 05.02 02:42:16 BoogieIcfgContainer [2025-02-05 14:42:16,096 INFO L131 PluginConnector]: ------------------------ END IcfgBuilder---------------------------- [2025-02-05 14:42:16,098 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2025-02-05 14:42:16,098 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2025-02-05 14:42:16,101 INFO L274 PluginConnector]: TraceAbstraction initialized [2025-02-05 14:42:16,102 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 05.02 02:42:15" (1/3) ... [2025-02-05 14:42:16,102 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7754fc04 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 05.02 02:42:16, skipping insertion in model container [2025-02-05 14:42:16,103 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 05.02 02:42:15" (2/3) ... [2025-02-05 14:42:16,103 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7754fc04 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 05.02 02:42:16, skipping insertion in model container [2025-02-05 14:42:16,104 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 05.02 02:42:16" (3/3) ... [2025-02-05 14:42:16,104 INFO L128 eAbstractionObserver]: Analyzing ICFG sll2c_prepend_unequal.i [2025-02-05 14:42:16,115 INFO L216 ceAbstractionStarter]: Automizer settings: Hoare:LoopHeads NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2025-02-05 14:42:16,116 INFO L151 ceAbstractionStarter]: Applying trace abstraction to ICFG sll2c_prepend_unequal.i that has 2 procedures, 34 locations, 1 initial locations, 4 loop locations, and 1 error locations. [2025-02-05 14:42:16,156 INFO L332 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2025-02-05 14:42:16,164 INFO L333 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mAutomataTypeConcurrency=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopHeads, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=[Lde.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings;@6cf6f8ec, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2025-02-05 14:42:16,165 INFO L334 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2025-02-05 14:42:16,167 INFO L276 IsEmpty]: Start isEmpty. Operand has 34 states, 28 states have (on average 1.4642857142857142) internal successors, (41), 29 states have internal predecessors, (41), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2025-02-05 14:42:16,172 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2025-02-05 14:42:16,172 INFO L210 NwaCegarLoop]: Found error trace [2025-02-05 14:42:16,172 INFO L218 NwaCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-02-05 14:42:16,173 INFO L396 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-02-05 14:42:16,176 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-05 14:42:16,176 INFO L85 PathProgramCache]: Analyzing trace with hash 613990978, now seen corresponding path program 1 times [2025-02-05 14:42:16,184 INFO L118 FreeRefinementEngine]: Executing refinement strategy FOX [2025-02-05 14:42:16,186 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1156388217] [2025-02-05 14:42:16,186 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-05 14:42:16,187 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-02-05 14:42:16,187 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-05 14:42:16,189 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-02-05 14:42:16,190 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2025-02-05 14:42:16,324 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 22 statements into 1 equivalence classes. [2025-02-05 14:42:16,355 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 22 of 22 statements. [2025-02-05 14:42:16,356 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-05 14:42:16,356 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-05 14:42:16,359 INFO L256 TraceCheckSpWp]: Trace formula consists of 159 conjuncts, 12 conjuncts are in the unsatisfiable core [2025-02-05 14:42:16,367 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-02-05 14:42:16,563 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 [2025-02-05 14:42:16,581 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 1 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-02-05 14:42:16,582 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-02-05 14:42:16,636 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2025-02-05 14:42:16,637 INFO L136 FreeRefinementEngine]: Strategy FOX found an infeasible trace [2025-02-05 14:42:16,637 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1156388217] [2025-02-05 14:42:16,637 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1156388217] provided 0 perfect and 2 imperfect interpolant sequences [2025-02-05 14:42:16,637 INFO L185 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2025-02-05 14:42:16,637 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9] total 10 [2025-02-05 14:42:16,638 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1195287597] [2025-02-05 14:42:16,639 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2025-02-05 14:42:16,641 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2025-02-05 14:42:16,641 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FOX [2025-02-05 14:42:16,653 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2025-02-05 14:42:16,653 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=72, Unknown=0, NotChecked=0, Total=90 [2025-02-05 14:42:16,654 INFO L87 Difference]: Start difference. First operand has 34 states, 28 states have (on average 1.4642857142857142) internal successors, (41), 29 states have internal predecessors, (41), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand has 10 states, 10 states have (on average 2.2) internal successors, (22), 9 states have internal predecessors, (22), 2 states have call successors, (3), 2 states have call predecessors, (3), 3 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3)