./Ultimate.py --spec ../../sv-benchmarks/c/properties/unreach-call.prp --file ../../sv-benchmarks/c/ldv-sets/test_mutex_double_unlock.i --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version e7bb482b Calling Ultimate with: /usr/lib/jvm/java-1.11.0-openjdk-amd64/bin/java -Dosgi.configuration.area=/tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_2cb3bb79-4d05-432e-861c-d32e6932488e/bin/utaipan-verify-FOvIYxoinp/data/config -Xmx15G -Xms4m -jar /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_2cb3bb79-4d05-432e-861c-d32e6932488e/bin/utaipan-verify-FOvIYxoinp/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_2cb3bb79-4d05-432e-861c-d32e6932488e/bin/utaipan-verify-FOvIYxoinp/data -tc /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_2cb3bb79-4d05-432e-861c-d32e6932488e/bin/utaipan-verify-FOvIYxoinp/config/TaipanReach.xml -i ../../sv-benchmarks/c/ldv-sets/test_mutex_double_unlock.i -s /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_2cb3bb79-4d05-432e-861c-d32e6932488e/bin/utaipan-verify-FOvIYxoinp/config/svcomp-Reach-32bit-Taipan_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_2cb3bb79-4d05-432e-861c-d32e6932488e/bin/utaipan-verify-FOvIYxoinp --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(reach_error())) ) --witnessprinter.graph.data.producer Taipan --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash d82f1b23bea4834b28dfbe602ddf1f3e06a3ee60a847e3002a9403f092f2c830 --- Real Ultimate output --- This is Ultimate 0.2.3-dev-e7bb482 [2023-11-06 21:07:22,809 INFO L188 SettingsManager]: Resetting all preferences to default values... [2023-11-06 21:07:22,933 INFO L114 SettingsManager]: Loading settings from /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_2cb3bb79-4d05-432e-861c-d32e6932488e/bin/utaipan-verify-FOvIYxoinp/config/svcomp-Reach-32bit-Taipan_Default.epf [2023-11-06 21:07:22,941 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2023-11-06 21:07:22,942 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2023-11-06 21:07:22,985 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2023-11-06 21:07:22,986 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2023-11-06 21:07:22,986 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2023-11-06 21:07:22,987 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2023-11-06 21:07:22,992 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2023-11-06 21:07:22,993 INFO L153 SettingsManager]: * User list type=DISABLED [2023-11-06 21:07:22,994 INFO L151 SettingsManager]: Preferences of Abstract Interpretation differ from their defaults: [2023-11-06 21:07:22,995 INFO L153 SettingsManager]: * Explicit value domain=true [2023-11-06 21:07:22,996 INFO L153 SettingsManager]: * Abstract domain for RCFG-of-the-future=PoormanAbstractDomain [2023-11-06 21:07:22,997 INFO L153 SettingsManager]: * Octagon Domain=false [2023-11-06 21:07:22,997 INFO L153 SettingsManager]: * Abstract domain=CompoundDomain [2023-11-06 21:07:22,998 INFO L153 SettingsManager]: * Check feasibility of abstract posts with an SMT solver=true [2023-11-06 21:07:22,998 INFO L153 SettingsManager]: * Use the RCFG-of-the-future interface=true [2023-11-06 21:07:22,998 INFO L153 SettingsManager]: * Interval Domain=false [2023-11-06 21:07:22,999 INFO L151 SettingsManager]: Preferences of Sifa differ from their defaults: [2023-11-06 21:07:22,999 INFO L153 SettingsManager]: * Call Summarizer=TopInputCallSummarizer [2023-11-06 21:07:23,000 INFO L153 SettingsManager]: * Simplification Technique=POLY_PAC [2023-11-06 21:07:23,001 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2023-11-06 21:07:23,001 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2023-11-06 21:07:23,002 INFO L153 SettingsManager]: * sizeof long=4 [2023-11-06 21:07:23,002 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2023-11-06 21:07:23,002 INFO L153 SettingsManager]: * sizeof POINTER=4 [2023-11-06 21:07:23,003 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2023-11-06 21:07:23,003 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2023-11-06 21:07:23,004 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2023-11-06 21:07:23,005 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2023-11-06 21:07:23,005 INFO L153 SettingsManager]: * sizeof long double=12 [2023-11-06 21:07:23,005 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2023-11-06 21:07:23,006 INFO L153 SettingsManager]: * Use constant arrays=true [2023-11-06 21:07:23,006 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2023-11-06 21:07:23,006 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2023-11-06 21:07:23,006 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2023-11-06 21:07:23,007 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2023-11-06 21:07:23,007 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2023-11-06 21:07:23,007 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2023-11-06 21:07:23,007 INFO L153 SettingsManager]: * Trace refinement strategy=SIFA_TAIPAN [2023-11-06 21:07:23,007 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2023-11-06 21:07:23,008 INFO L153 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2023-11-06 21:07:23,008 INFO L153 SettingsManager]: * Trace refinement exception blacklist=NONE [2023-11-06 21:07:23,008 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2023-11-06 21:07:23,009 INFO L153 SettingsManager]: * Abstract interpretation Mode=USE_PREDICATES WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_2cb3bb79-4d05-432e-861c-d32e6932488e/bin/utaipan-verify-FOvIYxoinp/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_2cb3bb79-4d05-432e-861c-d32e6932488e/bin/utaipan-verify-FOvIYxoinp Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml 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 -> Taipan 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 -> d82f1b23bea4834b28dfbe602ddf1f3e06a3ee60a847e3002a9403f092f2c830 [2023-11-06 21:07:23,294 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2023-11-06 21:07:23,334 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2023-11-06 21:07:23,337 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2023-11-06 21:07:23,339 INFO L270 PluginConnector]: Initializing CDTParser... [2023-11-06 21:07:23,340 INFO L274 PluginConnector]: CDTParser initialized [2023-11-06 21:07:23,342 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_2cb3bb79-4d05-432e-861c-d32e6932488e/bin/utaipan-verify-FOvIYxoinp/../../sv-benchmarks/c/ldv-sets/test_mutex_double_unlock.i [2023-11-06 21:07:26,589 INFO L533 CDTParser]: Created temporary CDT project at NULL [2023-11-06 21:07:27,005 INFO L384 CDTParser]: Found 1 translation units. [2023-11-06 21:07:27,006 INFO L180 CDTParser]: Scanning /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_2cb3bb79-4d05-432e-861c-d32e6932488e/sv-benchmarks/c/ldv-sets/test_mutex_double_unlock.i [2023-11-06 21:07:27,033 INFO L427 CDTParser]: About to delete temporary CDT project at /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_2cb3bb79-4d05-432e-861c-d32e6932488e/bin/utaipan-verify-FOvIYxoinp/data/1e797c001/ef3a9782929a4c0f9ce027eac0915fb2/FLAG1cf8120a0 [2023-11-06 21:07:27,048 INFO L435 CDTParser]: Successfully deleted /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_2cb3bb79-4d05-432e-861c-d32e6932488e/bin/utaipan-verify-FOvIYxoinp/data/1e797c001/ef3a9782929a4c0f9ce027eac0915fb2 [2023-11-06 21:07:27,055 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2023-11-06 21:07:27,058 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2023-11-06 21:07:27,063 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2023-11-06 21:07:27,063 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2023-11-06 21:07:27,068 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2023-11-06 21:07:27,069 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 06.11 09:07:27" (1/1) ... [2023-11-06 21:07:27,070 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@1f10a57f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.11 09:07:27, skipping insertion in model container [2023-11-06 21:07:27,070 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 06.11 09:07:27" (1/1) ... [2023-11-06 21:07:27,136 INFO L177 MainTranslator]: Built tables and reachable declarations [2023-11-06 21:07:27,568 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_2cb3bb79-4d05-432e-861c-d32e6932488e/sv-benchmarks/c/ldv-sets/test_mutex_double_unlock.i[25842,25855] [2023-11-06 21:07:27,578 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_2cb3bb79-4d05-432e-861c-d32e6932488e/sv-benchmarks/c/ldv-sets/test_mutex_double_unlock.i[25967,25980] [2023-11-06 21:07:27,580 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_2cb3bb79-4d05-432e-861c-d32e6932488e/sv-benchmarks/c/ldv-sets/test_mutex_double_unlock.i[26082,26095] [2023-11-06 21:07:27,585 INFO L209 PostProcessor]: Analyzing one entry point: main [2023-11-06 21:07:27,597 INFO L202 MainTranslator]: Completed pre-run [2023-11-06 21:07:27,673 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_2cb3bb79-4d05-432e-861c-d32e6932488e/sv-benchmarks/c/ldv-sets/test_mutex_double_unlock.i[25842,25855] [2023-11-06 21:07:27,678 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_2cb3bb79-4d05-432e-861c-d32e6932488e/sv-benchmarks/c/ldv-sets/test_mutex_double_unlock.i[25967,25980] [2023-11-06 21:07:27,680 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_2cb3bb79-4d05-432e-861c-d32e6932488e/sv-benchmarks/c/ldv-sets/test_mutex_double_unlock.i[26082,26095] [2023-11-06 21:07:27,687 INFO L209 PostProcessor]: Analyzing one entry point: main [2023-11-06 21:07:27,734 INFO L206 MainTranslator]: Completed translation [2023-11-06 21:07:27,735 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.11 09:07:27 WrapperNode [2023-11-06 21:07:27,735 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2023-11-06 21:07:27,736 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2023-11-06 21:07:27,736 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2023-11-06 21:07:27,737 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2023-11-06 21:07:27,744 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.11 09:07:27" (1/1) ... [2023-11-06 21:07:27,779 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.11 09:07:27" (1/1) ... [2023-11-06 21:07:27,812 INFO L138 Inliner]: procedures = 139, calls = 57, calls flagged for inlining = 14, calls inlined = 13, statements flattened = 138 [2023-11-06 21:07:27,812 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2023-11-06 21:07:27,813 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2023-11-06 21:07:27,813 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2023-11-06 21:07:27,813 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2023-11-06 21:07:27,822 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.11 09:07:27" (1/1) ... [2023-11-06 21:07:27,823 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.11 09:07:27" (1/1) ... [2023-11-06 21:07:27,827 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.11 09:07:27" (1/1) ... [2023-11-06 21:07:27,828 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.11 09:07:27" (1/1) ... [2023-11-06 21:07:27,840 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.11 09:07:27" (1/1) ... [2023-11-06 21:07:27,844 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.11 09:07:27" (1/1) ... [2023-11-06 21:07:27,849 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.11 09:07:27" (1/1) ... [2023-11-06 21:07:27,851 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.11 09:07:27" (1/1) ... [2023-11-06 21:07:27,856 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2023-11-06 21:07:27,867 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2023-11-06 21:07:27,868 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2023-11-06 21:07:27,868 INFO L274 PluginConnector]: RCFGBuilder initialized [2023-11-06 21:07:27,869 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.11 09:07:27" (1/1) ... [2023-11-06 21:07:27,876 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2023-11-06 21:07:27,897 INFO L189 MonitoredProcess]: No working directory specified, using /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_2cb3bb79-4d05-432e-861c-d32e6932488e/bin/utaipan-verify-FOvIYxoinp/z3 [2023-11-06 21:07:27,912 INFO L229 MonitoredProcess]: Starting monitored process 1 with /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_2cb3bb79-4d05-432e-861c-d32e6932488e/bin/utaipan-verify-FOvIYxoinp/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2023-11-06 21:07:27,944 INFO L327 MonitoredProcess]: [MP /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_2cb3bb79-4d05-432e-861c-d32e6932488e/bin/utaipan-verify-FOvIYxoinp/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2023-11-06 21:07:27,966 INFO L130 BoogieDeclarations]: Found specification of procedure __ldv_list_add [2023-11-06 21:07:27,967 INFO L138 BoogieDeclarations]: Found implementation of procedure __ldv_list_add [2023-11-06 21:07:27,967 INFO L130 BoogieDeclarations]: Found specification of procedure mutex_unlock [2023-11-06 21:07:27,968 INFO L138 BoogieDeclarations]: Found implementation of procedure mutex_unlock [2023-11-06 21:07:27,968 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2023-11-06 21:07:27,968 INFO L130 BoogieDeclarations]: Found specification of procedure mutex_lock [2023-11-06 21:07:27,968 INFO L138 BoogieDeclarations]: Found implementation of procedure mutex_lock [2023-11-06 21:07:27,968 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2023-11-06 21:07:27,969 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2023-11-06 21:07:27,969 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_is_in_set [2023-11-06 21:07:27,969 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_is_in_set [2023-11-06 21:07:27,969 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2023-11-06 21:07:27,969 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2023-11-06 21:07:27,970 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~$Pointer$ [2023-11-06 21:07:27,970 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2023-11-06 21:07:27,971 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_successful_malloc [2023-11-06 21:07:27,972 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_successful_malloc [2023-11-06 21:07:27,972 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2023-11-06 21:07:27,972 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2023-11-06 21:07:28,125 INFO L236 CfgBuilder]: Building ICFG [2023-11-06 21:07:28,129 INFO L262 CfgBuilder]: Building CFG for each procedure with an implementation [2023-11-06 21:07:28,547 INFO L277 CfgBuilder]: Performing block encoding [2023-11-06 21:07:28,662 INFO L297 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2023-11-06 21:07:28,662 INFO L302 CfgBuilder]: Removed 2 assume(true) statements. [2023-11-06 21:07:28,702 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 06.11 09:07:28 BoogieIcfgContainer [2023-11-06 21:07:28,702 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2023-11-06 21:07:28,704 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2023-11-06 21:07:28,705 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2023-11-06 21:07:28,708 INFO L274 PluginConnector]: TraceAbstraction initialized [2023-11-06 21:07:28,708 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 06.11 09:07:27" (1/3) ... [2023-11-06 21:07:28,709 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@279439b4 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 06.11 09:07:28, skipping insertion in model container [2023-11-06 21:07:28,709 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.11 09:07:27" (2/3) ... [2023-11-06 21:07:28,710 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@279439b4 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 06.11 09:07:28, skipping insertion in model container [2023-11-06 21:07:28,710 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 06.11 09:07:28" (3/3) ... [2023-11-06 21:07:28,711 INFO L112 eAbstractionObserver]: Analyzing ICFG test_mutex_double_unlock.i [2023-11-06 21:07:28,772 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2023-11-06 21:07:28,772 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 3 error locations. [2023-11-06 21:07:28,844 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2023-11-06 21:07:28,854 INFO L357 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, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopsAndPotentialCycles, 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;@182e08e0, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2023-11-06 21:07:28,854 INFO L358 AbstractCegarLoop]: Starting to check reachability of 3 error locations. [2023-11-06 21:07:28,860 INFO L276 IsEmpty]: Start isEmpty. Operand has 49 states, 29 states have (on average 1.3448275862068966) internal successors, (39), 32 states have internal predecessors, (39), 11 states have call successors, (11), 5 states have call predecessors, (11), 5 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2023-11-06 21:07:28,870 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2023-11-06 21:07:28,870 INFO L187 NwaCegarLoop]: Found error trace [2023-11-06 21:07:28,871 INFO L195 NwaCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2023-11-06 21:07:28,872 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting mutex_lockErr0ASSERT_VIOLATIONERROR_FUNCTION === [mutex_unlockErr0ASSERT_VIOLATIONERROR_FUNCTION, mutex_lockErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2023-11-06 21:07:28,880 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-11-06 21:07:28,880 INFO L85 PathProgramCache]: Analyzing trace with hash -2142385474, now seen corresponding path program 1 times [2023-11-06 21:07:28,892 INFO L118 FreeRefinementEngine]: Executing refinement strategy SIFA_TAIPAN [2023-11-06 21:07:28,892 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1509611584] [2023-11-06 21:07:28,893 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-11-06 21:07:28,893 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-11-06 21:07:29,118 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-06 21:07:29,395 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2023-11-06 21:07:29,396 INFO L136 FreeRefinementEngine]: Strategy SIFA_TAIPAN found an infeasible trace [2023-11-06 21:07:29,396 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1509611584] [2023-11-06 21:07:29,397 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1509611584] provided 1 perfect and 0 imperfect interpolant sequences [2023-11-06 21:07:29,397 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2023-11-06 21:07:29,398 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2023-11-06 21:07:29,400 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1536667987] [2023-11-06 21:07:29,401 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2023-11-06 21:07:29,406 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2023-11-06 21:07:29,407 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy SIFA_TAIPAN [2023-11-06 21:07:29,451 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2023-11-06 21:07:29,452 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2023-11-06 21:07:29,455 INFO L87 Difference]: Start difference. First operand has 49 states, 29 states have (on average 1.3448275862068966) internal successors, (39), 32 states have internal predecessors, (39), 11 states have call successors, (11), 5 states have call predecessors, (11), 5 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand has 4 states, 4 states have (on average 2.75) internal successors, (11), 4 states have internal predecessors, (11), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2023-11-06 21:07:29,581 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-11-06 21:07:29,581 INFO L93 Difference]: Finished difference Result 96 states and 124 transitions. [2023-11-06 21:07:29,583 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2023-11-06 21:07:29,584 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 2.75) internal successors, (11), 4 states have internal predecessors, (11), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) Word has length 19 [2023-11-06 21:07:29,585 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2023-11-06 21:07:29,594 INFO L225 Difference]: With dead ends: 96 [2023-11-06 21:07:29,595 INFO L226 Difference]: Without dead ends: 51 [2023-11-06 21:07:29,599 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2023-11-06 21:07:29,603 INFO L413 NwaCegarLoop]: 45 mSDtfsCounter, 0 mSDsluCounter, 88 mSDsCounter, 0 mSdLazyCounter, 40 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 133 SdHoareTripleChecker+Invalid, 40 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 40 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2023-11-06 21:07:29,604 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 133 Invalid, 40 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 40 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2023-11-06 21:07:29,625 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2023-11-06 21:07:29,661 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 51. [2023-11-06 21:07:29,664 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 51 states, 31 states have (on average 1.1935483870967742) internal successors, (37), 33 states have internal predecessors, (37), 11 states have call successors, (11), 5 states have call predecessors, (11), 6 states have return successors, (14), 12 states have call predecessors, (14), 11 states have call successors, (14) [2023-11-06 21:07:29,671 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 62 transitions. [2023-11-06 21:07:29,673 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 62 transitions. Word has length 19 [2023-11-06 21:07:29,673 INFO L84 Accepts]: Finished accepts. word is rejected. [2023-11-06 21:07:29,674 INFO L495 AbstractCegarLoop]: Abstraction has 51 states and 62 transitions. [2023-11-06 21:07:29,675 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 2.75) internal successors, (11), 4 states have internal predecessors, (11), 1 states have call successors, (4), 1 states have call predecessors, (4), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2023-11-06 21:07:29,676 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 62 transitions. [2023-11-06 21:07:29,679 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2023-11-06 21:07:29,680 INFO L187 NwaCegarLoop]: Found error trace [2023-11-06 21:07:29,680 INFO L195 NwaCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2023-11-06 21:07:29,681 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2023-11-06 21:07:29,682 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting mutex_lockErr0ASSERT_VIOLATIONERROR_FUNCTION === [mutex_unlockErr0ASSERT_VIOLATIONERROR_FUNCTION, mutex_lockErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2023-11-06 21:07:29,684 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-11-06 21:07:29,685 INFO L85 PathProgramCache]: Analyzing trace with hash -1125308492, now seen corresponding path program 1 times [2023-11-06 21:07:29,690 INFO L118 FreeRefinementEngine]: Executing refinement strategy SIFA_TAIPAN [2023-11-06 21:07:29,691 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1184346316] [2023-11-06 21:07:29,691 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-11-06 21:07:29,691 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-11-06 21:07:29,734 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-06 21:07:30,180 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2023-11-06 21:07:30,180 INFO L136 FreeRefinementEngine]: Strategy SIFA_TAIPAN found an infeasible trace [2023-11-06 21:07:30,180 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1184346316] [2023-11-06 21:07:30,181 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1184346316] provided 1 perfect and 0 imperfect interpolant sequences [2023-11-06 21:07:30,182 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2023-11-06 21:07:30,182 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2023-11-06 21:07:30,183 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1697092867] [2023-11-06 21:07:30,183 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2023-11-06 21:07:30,185 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2023-11-06 21:07:30,189 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy SIFA_TAIPAN [2023-11-06 21:07:30,190 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2023-11-06 21:07:30,191 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2023-11-06 21:07:30,191 INFO L87 Difference]: Start difference. First operand 51 states and 62 transitions. Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 1 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2023-11-06 21:07:30,722 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-11-06 21:07:30,722 INFO L93 Difference]: Finished difference Result 145 states and 192 transitions. [2023-11-06 21:07:30,723 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2023-11-06 21:07:30,724 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 1 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) Word has length 20 [2023-11-06 21:07:30,724 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2023-11-06 21:07:30,730 INFO L225 Difference]: With dead ends: 145 [2023-11-06 21:07:30,730 INFO L226 Difference]: Without dead ends: 100 [2023-11-06 21:07:30,732 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=27, Invalid=45, Unknown=0, NotChecked=0, Total=72 [2023-11-06 21:07:30,734 INFO L413 NwaCegarLoop]: 53 mSDtfsCounter, 59 mSDsluCounter, 94 mSDsCounter, 0 mSdLazyCounter, 141 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 63 SdHoareTripleChecker+Valid, 147 SdHoareTripleChecker+Invalid, 143 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 141 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2023-11-06 21:07:30,734 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [63 Valid, 147 Invalid, 143 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 141 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2023-11-06 21:07:30,738 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 100 states. [2023-11-06 21:07:30,778 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 100 to 82. [2023-11-06 21:07:30,779 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 82 states, 50 states have (on average 1.24) internal successors, (62), 54 states have internal predecessors, (62), 18 states have call successors, (18), 9 states have call predecessors, (18), 11 states have return successors, (26), 18 states have call predecessors, (26), 18 states have call successors, (26) [2023-11-06 21:07:30,786 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 82 states to 82 states and 106 transitions. [2023-11-06 21:07:30,787 INFO L78 Accepts]: Start accepts. Automaton has 82 states and 106 transitions. Word has length 20 [2023-11-06 21:07:30,787 INFO L84 Accepts]: Finished accepts. word is rejected. [2023-11-06 21:07:30,788 INFO L495 AbstractCegarLoop]: Abstraction has 82 states and 106 transitions. [2023-11-06 21:07:30,788 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 1 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2023-11-06 21:07:30,789 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 106 transitions. [2023-11-06 21:07:30,792 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2023-11-06 21:07:30,793 INFO L187 NwaCegarLoop]: Found error trace [2023-11-06 21:07:30,793 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 2, 2, 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, 1, 1, 1, 1] [2023-11-06 21:07:30,793 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2023-11-06 21:07:30,796 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting mutex_lockErr0ASSERT_VIOLATIONERROR_FUNCTION === [mutex_unlockErr0ASSERT_VIOLATIONERROR_FUNCTION, mutex_lockErr0ASSERT_VIOLATIONERROR_FUNCTION, ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2023-11-06 21:07:30,807 INFO L145 PredicateUnifier]: Initialized classic predicate unifier [2023-11-06 21:07:30,808 INFO L85 PathProgramCache]: Analyzing trace with hash 14008161, now seen corresponding path program 1 times [2023-11-06 21:07:30,808 INFO L118 FreeRefinementEngine]: Executing refinement strategy SIFA_TAIPAN [2023-11-06 21:07:30,808 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [390316737] [2023-11-06 21:07:30,808 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-11-06 21:07:30,809 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-11-06 21:07:30,959 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-06 21:07:36,339 INFO L134 CoverageAnalysis]: Checked inductivity of 22 backedges. 10 proven. 8 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2023-11-06 21:07:36,339 INFO L136 FreeRefinementEngine]: Strategy SIFA_TAIPAN found an infeasible trace [2023-11-06 21:07:36,339 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [390316737] [2023-11-06 21:07:36,340 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [390316737] provided 0 perfect and 1 imperfect interpolant sequences [2023-11-06 21:07:36,340 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1485421653] [2023-11-06 21:07:36,340 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-11-06 21:07:36,340 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2023-11-06 21:07:36,340 INFO L189 MonitoredProcess]: No working directory specified, using /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_2cb3bb79-4d05-432e-861c-d32e6932488e/bin/utaipan-verify-FOvIYxoinp/z3 [2023-11-06 21:07:36,347 INFO L229 MonitoredProcess]: Starting monitored process 2 with /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_2cb3bb79-4d05-432e-861c-d32e6932488e/bin/utaipan-verify-FOvIYxoinp/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2023-11-06 21:07:36,375 INFO L327 MonitoredProcess]: [MP /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_2cb3bb79-4d05-432e-861c-d32e6932488e/bin/utaipan-verify-FOvIYxoinp/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2023-11-06 21:07:36,539 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-06 21:07:36,546 INFO L262 TraceCheckSpWp]: Trace formula consists of 400 conjuncts, 169 conjunts are in the unsatisfiable core [2023-11-06 21:07:36,568 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2023-11-06 21:07:36,937 INFO L322 Elim1Store]: treesize reduction 18, result has 35.7 percent of original size [2023-11-06 21:07:36,937 INFO L351 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 [2023-11-06 21:07:37,352 INFO L322 Elim1Store]: treesize reduction 40, result has 32.2 percent of original size [2023-11-06 21:07:37,353 INFO L351 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 4 case distinctions, treesize of input 24 treesize of output 28 [2023-11-06 21:07:44,283 WARN L839 $PredicateComparison]: unable to prove that (and (= |c_~#mutexes~0.offset| 0) (let ((.cse78 (select |c_#memory_$Pointer$.base| |c___ldv_list_add_#in~new.base|)) (.cse7 (+ |c___ldv_list_add_#in~new.offset| 4)) (.cse1 (= |c___ldv_list_add_#in~prev.base| |c___ldv_list_add_#in~new.base|))) (let ((.cse0 (= |c___ldv_list_add_#in~new.offset| |c___ldv_list_add_#in~prev.offset|)) (.cse35 (not .cse1)) (.cse12 (select .cse78 .cse7)) (.cse74 (select |c_old(#memory_$Pointer$.base)| |c___ldv_list_add_#in~new.base|)) (.cse27 (select .cse78 |c___ldv_list_add_#in~new.offset|))) (let ((.cse20 (let ((.cse76 (store .cse74 |c___ldv_list_add_#in~new.offset| .cse27))) (or (= |c_#memory_$Pointer$.base| (let ((.cse75 (store |c_old(#memory_$Pointer$.base)| |c___ldv_list_add_#in~new.base| .cse76))) (store .cse75 |c___ldv_list_add_#in~prev.base| (store (select .cse75 |c___ldv_list_add_#in~prev.base|) |c___ldv_list_add_#in~prev.offset| |c___ldv_list_add_#in~new.base|)))) (= (let ((.cse77 (store |c_old(#memory_$Pointer$.base)| |c___ldv_list_add_#in~new.base| (store .cse76 .cse7 .cse12)))) (store .cse77 |c___ldv_list_add_#in~prev.base| (store (select .cse77 |c___ldv_list_add_#in~prev.base|) |c___ldv_list_add_#in~prev.offset| |c___ldv_list_add_#in~new.base|))) |c_#memory_$Pointer$.base|)))) (.cse23 (or (not .cse0) .cse35)) (.cse45 (select |c_#memory_$Pointer$.offset| |c___ldv_list_add_#in~new.base|)) (.cse3 (= |c___ldv_list_add_#in~next.base| |c___ldv_list_add_#in~new.base|))) (let ((.cse4 (not .cse3)) (.cse5 (store |c_old(#memory_$Pointer$.offset)| |c___ldv_list_add_#in~next.base| (select |c_#memory_$Pointer$.offset| |c___ldv_list_add_#in~next.base|))) (.cse13 (select |c_old(#memory_$Pointer$.base)| |c___ldv_list_add_#in~next.base|)) (.cse14 (select |c_#memory_$Pointer$.base| |c___ldv_list_add_#in~next.base|)) (.cse15 (= |c___ldv_list_add_#in~next.base| |c___ldv_list_add_#in~prev.base|)) (.cse21 (store |c_old(#memory_$Pointer$.offset)| |c___ldv_list_add_#in~new.base| .cse45)) (.cse8 (select |c_old(#memory_$Pointer$.offset)| |c___ldv_list_add_#in~next.base|)) (.cse70 (or (and .cse0 (= |c_#memory_$Pointer$.base| (let ((.cse73 (store |c_old(#memory_$Pointer$.base)| |c___ldv_list_add_#in~new.base| (store .cse74 .cse7 .cse12)))) (store .cse73 |c___ldv_list_add_#in~prev.base| (store (select .cse73 |c___ldv_list_add_#in~prev.base|) |c___ldv_list_add_#in~prev.offset| |c___ldv_list_add_#in~new.base|)))) .cse1) (and .cse20 .cse23)))) (or (and .cse0 .cse1 (let ((.cse2 (exists ((__ldv_list_add_~next.offset Int)) (let ((.cse17 (+ __ldv_list_add_~next.offset 4))) (and (= |c_#memory_$Pointer$.offset| (store |c_old(#memory_$Pointer$.offset)| |c___ldv_list_add_#in~prev.base| (store (select (let ((.cse16 (store |c_old(#memory_$Pointer$.offset)| |c___ldv_list_add_#in~next.base| (store .cse8 .cse17 |c___ldv_list_add_#in~new.offset|)))) (store .cse16 |c___ldv_list_add_#in~new.base| (store (store (select .cse16 |c___ldv_list_add_#in~new.base|) |c___ldv_list_add_#in~new.offset| __ldv_list_add_~next.offset) .cse7 |c___ldv_list_add_#in~prev.offset|))) |c___ldv_list_add_#in~prev.base|) |c___ldv_list_add_#in~prev.offset| |c___ldv_list_add_#in~new.offset|))) (= |c_#memory_$Pointer$.base| (let ((.cse18 (let ((.cse19 (store |c_old(#memory_$Pointer$.base)| |c___ldv_list_add_#in~next.base| (store .cse13 .cse17 (select .cse14 .cse17))))) (store .cse19 |c___ldv_list_add_#in~new.base| (store (select .cse19 |c___ldv_list_add_#in~new.base|) .cse7 .cse12))))) (store .cse18 |c___ldv_list_add_#in~prev.base| (store (select .cse18 |c___ldv_list_add_#in~prev.base|) |c___ldv_list_add_#in~prev.offset| |c___ldv_list_add_#in~new.base|))))))))) (or (and .cse2 .cse3) (and .cse4 (exists ((__ldv_list_add_~next.offset Int)) (let ((.cse9 (+ __ldv_list_add_~next.offset 4))) (and (= |c_#memory_$Pointer$.offset| (store .cse5 |c___ldv_list_add_#in~prev.base| (store (select (let ((.cse6 (store |c_old(#memory_$Pointer$.offset)| |c___ldv_list_add_#in~next.base| (store .cse8 .cse9 |c___ldv_list_add_#in~new.offset|)))) (store .cse6 |c___ldv_list_add_#in~new.base| (store (store (select .cse6 |c___ldv_list_add_#in~new.base|) |c___ldv_list_add_#in~new.offset| __ldv_list_add_~next.offset) .cse7 |c___ldv_list_add_#in~prev.offset|))) |c___ldv_list_add_#in~prev.base|) |c___ldv_list_add_#in~prev.offset| |c___ldv_list_add_#in~new.offset|))) (= |c_#memory_$Pointer$.base| (let ((.cse10 (let ((.cse11 (store |c_old(#memory_$Pointer$.base)| |c___ldv_list_add_#in~next.base| (store .cse13 .cse9 (select .cse14 .cse9))))) (store .cse11 |c___ldv_list_add_#in~new.base| (store (select .cse11 |c___ldv_list_add_#in~new.base|) .cse7 .cse12))))) (store .cse10 |c___ldv_list_add_#in~prev.base| (store (select .cse10 |c___ldv_list_add_#in~prev.base|) |c___ldv_list_add_#in~prev.offset| |c___ldv_list_add_#in~new.base|)))))))) (and .cse2 .cse15)))) (and .cse20 (= (store .cse21 |c___ldv_list_add_#in~prev.base| (store (select (let ((.cse22 (store |c_old(#memory_$Pointer$.offset)| |c___ldv_list_add_#in~next.base| (store .cse8 .cse7 |c___ldv_list_add_#in~new.offset|)))) (store .cse22 |c___ldv_list_add_#in~new.base| (store (store (select .cse22 |c___ldv_list_add_#in~new.base|) |c___ldv_list_add_#in~new.offset| |c___ldv_list_add_#in~new.offset|) .cse7 |c___ldv_list_add_#in~prev.offset|))) |c___ldv_list_add_#in~prev.base|) |c___ldv_list_add_#in~prev.offset| |c___ldv_list_add_#in~new.offset|)) |c_#memory_$Pointer$.offset|) .cse3 .cse23) (and (let ((.cse55 (= .cse7 |c___ldv_list_add_#in~prev.offset|))) (let ((.cse24 (and (exists ((__ldv_list_add_~next.offset Int)) (let ((.cse65 (+ __ldv_list_add_~next.offset 4))) (and (= |c_#memory_$Pointer$.offset| (store |c_old(#memory_$Pointer$.offset)| |c___ldv_list_add_#in~prev.base| (store (select (let ((.cse64 (store |c_old(#memory_$Pointer$.offset)| |c___ldv_list_add_#in~next.base| (store .cse8 .cse65 |c___ldv_list_add_#in~new.offset|)))) (store .cse64 |c___ldv_list_add_#in~new.base| (store (store (select .cse64 |c___ldv_list_add_#in~new.base|) |c___ldv_list_add_#in~new.offset| __ldv_list_add_~next.offset) .cse7 |c___ldv_list_add_#in~prev.offset|))) |c___ldv_list_add_#in~prev.base|) |c___ldv_list_add_#in~prev.offset| |c___ldv_list_add_#in~new.offset|))) (= |c_#memory_$Pointer$.base| (let ((.cse66 (let ((.cse67 (store |c_old(#memory_$Pointer$.base)| |c___ldv_list_add_#in~next.base| (store .cse13 .cse65 (select .cse14 .cse65))))) (store .cse67 |c___ldv_list_add_#in~new.base| (store (select .cse67 |c___ldv_list_add_#in~new.base|) |c___ldv_list_add_#in~new.offset| .cse27))))) (store .cse66 |c___ldv_list_add_#in~prev.base| (store (select .cse66 |c___ldv_list_add_#in~prev.base|) |c___ldv_list_add_#in~prev.offset| |c___ldv_list_add_#in~new.base|))))))) .cse1 .cse55)) (.cse36 (and (exists ((__ldv_list_add_~next.offset Int)) (let ((.cse62 (+ __ldv_list_add_~next.offset 4))) (and (= (let ((.cse60 (let ((.cse61 (store |c_old(#memory_$Pointer$.base)| |c___ldv_list_add_#in~next.base| (store .cse13 .cse62 (select .cse14 .cse62))))) (store .cse61 |c___ldv_list_add_#in~new.base| (store (store (select .cse61 |c___ldv_list_add_#in~new.base|) |c___ldv_list_add_#in~new.offset| .cse27) .cse7 .cse12))))) (store .cse60 |c___ldv_list_add_#in~prev.base| (store (select .cse60 |c___ldv_list_add_#in~prev.base|) |c___ldv_list_add_#in~prev.offset| |c___ldv_list_add_#in~new.base|))) |c_#memory_$Pointer$.base|) (= |c_#memory_$Pointer$.offset| (store |c_old(#memory_$Pointer$.offset)| |c___ldv_list_add_#in~prev.base| (store (select (let ((.cse63 (store |c_old(#memory_$Pointer$.offset)| |c___ldv_list_add_#in~next.base| (store .cse8 .cse62 |c___ldv_list_add_#in~new.offset|)))) (store .cse63 |c___ldv_list_add_#in~new.base| (store (store (select .cse63 |c___ldv_list_add_#in~new.base|) |c___ldv_list_add_#in~new.offset| __ldv_list_add_~next.offset) .cse7 |c___ldv_list_add_#in~prev.offset|))) |c___ldv_list_add_#in~prev.base|) |c___ldv_list_add_#in~prev.offset| |c___ldv_list_add_#in~new.offset|))) (not (= |c___ldv_list_add_#in~prev.offset| .cse62))))) .cse1)) (.cse34 (exists ((__ldv_list_add_~next.offset Int)) (let ((.cse58 (+ __ldv_list_add_~next.offset 4))) (and (= (let ((.cse56 (let ((.cse57 (store |c_old(#memory_$Pointer$.base)| |c___ldv_list_add_#in~next.base| (store .cse13 .cse58 (select .cse14 .cse58))))) (store .cse57 |c___ldv_list_add_#in~new.base| (store (store (select .cse57 |c___ldv_list_add_#in~new.base|) |c___ldv_list_add_#in~new.offset| .cse27) .cse7 .cse12))))) (store .cse56 |c___ldv_list_add_#in~prev.base| (store (select .cse56 |c___ldv_list_add_#in~prev.base|) |c___ldv_list_add_#in~prev.offset| |c___ldv_list_add_#in~new.base|))) |c_#memory_$Pointer$.base|) (= |c_#memory_$Pointer$.offset| (store .cse21 |c___ldv_list_add_#in~prev.base| (store (select (let ((.cse59 (store |c_old(#memory_$Pointer$.offset)| |c___ldv_list_add_#in~next.base| (store .cse8 .cse58 |c___ldv_list_add_#in~new.offset|)))) (store .cse59 |c___ldv_list_add_#in~new.base| (store (store (select .cse59 |c___ldv_list_add_#in~new.base|) |c___ldv_list_add_#in~new.offset| __ldv_list_add_~next.offset) .cse7 |c___ldv_list_add_#in~prev.offset|))) |c___ldv_list_add_#in~prev.base|) |c___ldv_list_add_#in~prev.offset| |c___ldv_list_add_#in~new.offset|))) (not (= |c___ldv_list_add_#in~prev.offset| .cse58)))))) (.cse37 (or (not .cse55) .cse35))) (or (and .cse15 (or .cse24 (and (or (and (or (exists ((__ldv_list_add_~next.offset Int)) (let ((.cse28 (+ __ldv_list_add_~next.offset 4))) (and (= (let ((.cse25 (let ((.cse26 (store |c_old(#memory_$Pointer$.base)| |c___ldv_list_add_#in~next.base| (store .cse13 .cse28 (select .cse14 .cse28))))) (store .cse26 |c___ldv_list_add_#in~new.base| (store (store (select .cse26 |c___ldv_list_add_#in~new.base|) |c___ldv_list_add_#in~new.offset| .cse27) .cse7 .cse12))))) (store .cse25 |c___ldv_list_add_#in~prev.base| (store (select .cse25 |c___ldv_list_add_#in~prev.base|) |c___ldv_list_add_#in~prev.offset| |c___ldv_list_add_#in~new.base|))) |c_#memory_$Pointer$.base|) (= |c_#memory_$Pointer$.offset| (store .cse21 |c___ldv_list_add_#in~prev.base| (store (select (let ((.cse29 (store |c_old(#memory_$Pointer$.offset)| |c___ldv_list_add_#in~next.base| (store .cse8 .cse28 |c___ldv_list_add_#in~new.offset|)))) (store .cse29 |c___ldv_list_add_#in~new.base| (store (store (select .cse29 |c___ldv_list_add_#in~new.base|) |c___ldv_list_add_#in~new.offset| __ldv_list_add_~next.offset) .cse7 |c___ldv_list_add_#in~prev.offset|))) |c___ldv_list_add_#in~prev.base|) |c___ldv_list_add_#in~prev.offset| |c___ldv_list_add_#in~new.offset|))) (not (= |c___ldv_list_add_#in~prev.offset| .cse28)) (not (= |c___ldv_list_add_#in~new.offset| __ldv_list_add_~next.offset))))) (exists ((__ldv_list_add_~next.offset Int)) (let ((.cse32 (+ __ldv_list_add_~next.offset 4))) (and (= (let ((.cse30 (let ((.cse31 (store |c_old(#memory_$Pointer$.base)| |c___ldv_list_add_#in~next.base| (store .cse13 .cse32 (select .cse14 .cse32))))) (store .cse31 |c___ldv_list_add_#in~new.base| (store (store (select .cse31 |c___ldv_list_add_#in~new.base|) |c___ldv_list_add_#in~new.offset| .cse27) .cse7 .cse12))))) (store .cse30 |c___ldv_list_add_#in~prev.base| (store (select .cse30 |c___ldv_list_add_#in~prev.base|) |c___ldv_list_add_#in~prev.offset| |c___ldv_list_add_#in~new.base|))) |c_#memory_$Pointer$.base|) (not (= |c___ldv_list_add_#in~new.offset| .cse32)) (= |c_#memory_$Pointer$.offset| (store .cse21 |c___ldv_list_add_#in~prev.base| (store (select (let ((.cse33 (store |c_old(#memory_$Pointer$.offset)| |c___ldv_list_add_#in~next.base| (store .cse8 .cse32 |c___ldv_list_add_#in~new.offset|)))) (store .cse33 |c___ldv_list_add_#in~new.base| (store (store (select .cse33 |c___ldv_list_add_#in~new.base|) |c___ldv_list_add_#in~new.offset| __ldv_list_add_~next.offset) .cse7 |c___ldv_list_add_#in~prev.offset|))) |c___ldv_list_add_#in~prev.base|) |c___ldv_list_add_#in~prev.offset| |c___ldv_list_add_#in~new.offset|))) (not (= |c___ldv_list_add_#in~prev.offset| .cse32)) (not (= |c___ldv_list_add_#in~new.offset| __ldv_list_add_~next.offset))))) .cse34) .cse35) .cse36) .cse37))) (and (or .cse24 (and (or .cse36 (and (or (exists ((__ldv_list_add_~next.offset Int)) (let ((.cse40 (+ __ldv_list_add_~next.offset 4))) (and (= (let ((.cse38 (let ((.cse39 (store |c_old(#memory_$Pointer$.base)| |c___ldv_list_add_#in~next.base| (store .cse13 .cse40 (select .cse14 .cse40))))) (store .cse39 |c___ldv_list_add_#in~new.base| (store (store (select .cse39 |c___ldv_list_add_#in~new.base|) |c___ldv_list_add_#in~new.offset| .cse27) .cse7 .cse12))))) (store .cse38 |c___ldv_list_add_#in~prev.base| (store (select .cse38 |c___ldv_list_add_#in~prev.base|) |c___ldv_list_add_#in~prev.offset| |c___ldv_list_add_#in~new.base|))) |c_#memory_$Pointer$.base|) (= |c_#memory_$Pointer$.offset| (store .cse21 |c___ldv_list_add_#in~prev.base| (store (select (let ((.cse41 (store |c_old(#memory_$Pointer$.offset)| |c___ldv_list_add_#in~next.base| (store .cse8 .cse40 |c___ldv_list_add_#in~new.offset|)))) (store .cse41 |c___ldv_list_add_#in~new.base| (store (store (select .cse41 |c___ldv_list_add_#in~new.base|) |c___ldv_list_add_#in~new.offset| __ldv_list_add_~next.offset) .cse7 |c___ldv_list_add_#in~prev.offset|))) |c___ldv_list_add_#in~prev.base|) |c___ldv_list_add_#in~prev.offset| |c___ldv_list_add_#in~new.offset|)))))) .cse34) .cse35)) .cse37)) .cse3) (and (not .cse15) .cse4 (or (and .cse37 (or (and (exists ((__ldv_list_add_~next.offset Int)) (let ((.cse44 (+ __ldv_list_add_~next.offset 4))) (and (= (let ((.cse42 (let ((.cse43 (store |c_old(#memory_$Pointer$.base)| |c___ldv_list_add_#in~next.base| (store .cse13 .cse44 (select .cse14 .cse44))))) (store .cse43 |c___ldv_list_add_#in~new.base| (store (store (select .cse43 |c___ldv_list_add_#in~new.base|) |c___ldv_list_add_#in~new.offset| .cse27) .cse7 .cse12))))) (store .cse42 |c___ldv_list_add_#in~prev.base| (store (select .cse42 |c___ldv_list_add_#in~prev.base|) |c___ldv_list_add_#in~prev.offset| |c___ldv_list_add_#in~new.base|))) |c_#memory_$Pointer$.base|) (= (store (store .cse5 |c___ldv_list_add_#in~new.base| .cse45) |c___ldv_list_add_#in~prev.base| (store (select (let ((.cse46 (store |c_old(#memory_$Pointer$.offset)| |c___ldv_list_add_#in~next.base| (store .cse8 .cse44 |c___ldv_list_add_#in~new.offset|)))) (store .cse46 |c___ldv_list_add_#in~new.base| (store (store (select .cse46 |c___ldv_list_add_#in~new.base|) |c___ldv_list_add_#in~new.offset| __ldv_list_add_~next.offset) .cse7 |c___ldv_list_add_#in~prev.offset|))) |c___ldv_list_add_#in~prev.base|) |c___ldv_list_add_#in~prev.offset| |c___ldv_list_add_#in~new.offset|)) |c_#memory_$Pointer$.offset|)))) .cse35) (and (exists ((__ldv_list_add_~next.offset Int)) (let ((.cse49 (+ __ldv_list_add_~next.offset 4))) (and (= (let ((.cse47 (let ((.cse48 (store |c_old(#memory_$Pointer$.base)| |c___ldv_list_add_#in~next.base| (store .cse13 .cse49 (select .cse14 .cse49))))) (store .cse48 |c___ldv_list_add_#in~new.base| (store (store (select .cse48 |c___ldv_list_add_#in~new.base|) |c___ldv_list_add_#in~new.offset| .cse27) .cse7 .cse12))))) (store .cse47 |c___ldv_list_add_#in~prev.base| (store (select .cse47 |c___ldv_list_add_#in~prev.base|) |c___ldv_list_add_#in~prev.offset| |c___ldv_list_add_#in~new.base|))) |c_#memory_$Pointer$.base|) (= |c_#memory_$Pointer$.offset| (store .cse5 |c___ldv_list_add_#in~prev.base| (store (select (let ((.cse50 (store |c_old(#memory_$Pointer$.offset)| |c___ldv_list_add_#in~next.base| (store .cse8 .cse49 |c___ldv_list_add_#in~new.offset|)))) (store .cse50 |c___ldv_list_add_#in~new.base| (store (store (select .cse50 |c___ldv_list_add_#in~new.base|) |c___ldv_list_add_#in~new.offset| __ldv_list_add_~next.offset) .cse7 |c___ldv_list_add_#in~prev.offset|))) |c___ldv_list_add_#in~prev.base|) |c___ldv_list_add_#in~prev.offset| |c___ldv_list_add_#in~new.offset|)))))) .cse1))) (and (exists ((__ldv_list_add_~next.offset Int)) (let ((.cse52 (+ __ldv_list_add_~next.offset 4))) (and (= |c_#memory_$Pointer$.offset| (store .cse5 |c___ldv_list_add_#in~prev.base| (store (select (let ((.cse51 (store |c_old(#memory_$Pointer$.offset)| |c___ldv_list_add_#in~next.base| (store .cse8 .cse52 |c___ldv_list_add_#in~new.offset|)))) (store .cse51 |c___ldv_list_add_#in~new.base| (store (store (select .cse51 |c___ldv_list_add_#in~new.base|) |c___ldv_list_add_#in~new.offset| __ldv_list_add_~next.offset) .cse7 |c___ldv_list_add_#in~prev.offset|))) |c___ldv_list_add_#in~prev.base|) |c___ldv_list_add_#in~prev.offset| |c___ldv_list_add_#in~new.offset|))) (= |c_#memory_$Pointer$.base| (let ((.cse53 (let ((.cse54 (store |c_old(#memory_$Pointer$.base)| |c___ldv_list_add_#in~next.base| (store .cse13 .cse52 (select .cse14 .cse52))))) (store .cse54 |c___ldv_list_add_#in~new.base| (store (select .cse54 |c___ldv_list_add_#in~new.base|) |c___ldv_list_add_#in~new.offset| .cse27))))) (store .cse53 |c___ldv_list_add_#in~prev.base| (store (select .cse53 |c___ldv_list_add_#in~prev.base|) |c___ldv_list_add_#in~prev.offset| |c___ldv_list_add_#in~new.base|))))))) .cse1 .cse55)))))) .cse23) (and (let ((.cse68 (store (select (let ((.cse69 (store |c_old(#memory_$Pointer$.offset)| |c___ldv_list_add_#in~next.base| (store .cse8 |c___ldv_list_add_#in~prev.offset| |c___ldv_list_add_#in~new.offset|)))) (store .cse69 |c___ldv_list_add_#in~new.base| (store (store (select .cse69 |c___ldv_list_add_#in~new.base|) |c___ldv_list_add_#in~new.offset| (+ |c___ldv_list_add_#in~prev.offset| (- 4))) .cse7 |c___ldv_list_add_#in~prev.offset|))) |c___ldv_list_add_#in~prev.base|) |c___ldv_list_add_#in~prev.offset| |c___ldv_list_add_#in~new.offset|))) (or (= (store .cse21 |c___ldv_list_add_#in~prev.base| .cse68) |c_#memory_$Pointer$.offset|) (= |c_#memory_$Pointer$.offset| (store |c_old(#memory_$Pointer$.offset)| |c___ldv_list_add_#in~prev.base| .cse68)))) .cse15 .cse70) (and (let ((.cse71 (store (select (let ((.cse72 (store |c_old(#memory_$Pointer$.offset)| |c___ldv_list_add_#in~next.base| (store .cse8 |c___ldv_list_add_#in~new.offset| |c___ldv_list_add_#in~new.offset|)))) (store .cse72 |c___ldv_list_add_#in~new.base| (store (store (select .cse72 |c___ldv_list_add_#in~new.base|) |c___ldv_list_add_#in~new.offset| (+ |c___ldv_list_add_#in~new.offset| (- 4))) .cse7 |c___ldv_list_add_#in~prev.offset|))) |c___ldv_list_add_#in~prev.base|) |c___ldv_list_add_#in~prev.offset| |c___ldv_list_add_#in~new.offset|))) (or (= (store .cse21 |c___ldv_list_add_#in~prev.base| .cse71) |c_#memory_$Pointer$.offset|) (= |c_#memory_$Pointer$.offset| (store |c_old(#memory_$Pointer$.offset)| |c___ldv_list_add_#in~prev.base| .cse71)))) .cse70 .cse3)))))) (= 3 |c_~#mutexes~0.base|)) is different from false [2023-11-06 21:07:44,990 INFO L351 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 5 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 24 [2023-11-06 21:07:45,401 INFO L190 IndexEqualityManager]: detected not equals via solver [2023-11-06 21:07:45,464 INFO L322 Elim1Store]: treesize reduction 28, result has 33.3 percent of original size [2023-11-06 21:07:45,465 INFO L351 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 5 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 20 treesize of output 36 [2023-11-06 21:07:49,939 WARN L839 $PredicateComparison]: unable to prove that (and (= |c_~#mutexes~0.offset| 0) (let ((.cse6 (select |c_#memory_$Pointer$.base| 3))) (let ((.cse16 (select .cse6 0))) (let ((.cse73 (store (select |c_old(#memory_$Pointer$.base)| .cse16) 0 |c_mutex_lock_#in~m#1.base|))) (let ((.cse25 (select |c_#memory_$Pointer$.offset| 3)) (.cse31 (store |c_old(#memory_$Pointer$.base)| .cse16 .cse73)) (.cse74 (select |c_#memory_$Pointer$.base| .cse16))) (let ((.cse51 (select |c_#memory_$Pointer$.offset| .cse16)) (.cse32 (select .cse74 4)) (.cse33 (select .cse74 8)) (.cse11 (= .cse16 3)) (.cse29 (select (select .cse31 3) 0)) (.cse24 (select .cse25 4))) (let ((.cse9 (= (select .cse25 8) 0)) (.cse10 (= (select .cse25 0) 4)) (.cse13 (+ .cse24 4)) (.cse12 (= |c_#memory_$Pointer$.offset| (store |c_old(#memory_$Pointer$.offset)| 3 .cse25))) (.cse17 (= 3 .cse29)) (.cse39 (not .cse11)) (.cse34 (select .cse31 .cse29)) (.cse36 (select |c_#memory_$Pointer$.base| .cse29)) (.cse26 (= |c_mutex_lock_#in~m#1.base| 3)) (.cse20 (= (select |c_old(#valid)| 3) 0)) (.cse22 (select .cse6 4)) (.cse23 (select .cse6 8)) (.cse21 (select |c_old(#memory_$Pointer$.base)| 3)) (.cse27 (= .cse16 .cse29)) (.cse18 (= (let ((.cse72 (store |c_old(#memory_$Pointer$.base)| .cse16 (store (store .cse73 4 .cse32) 8 .cse33)))) (store .cse72 3 (store (select .cse72 3) 0 .cse16))) |c_#memory_$Pointer$.base|)) (.cse14 (store |c_old(#memory_$Pointer$.offset)| .cse16 .cse51)) (.cse19 (= (select |c_old(#valid)| .cse16) 0))) (or (exists ((|mutex_lock_ldv_list_add_~new#1.base| Int)) (let ((.cse2 (store |c_old(#memory_$Pointer$.base)| |mutex_lock_ldv_list_add_~new#1.base| (store (select |c_old(#memory_$Pointer$.base)| |mutex_lock_ldv_list_add_~new#1.base|) 0 |c_mutex_lock_#in~m#1.base|)))) (let ((.cse4 (select .cse2 3))) (and (= (select |c_old(#valid)| |mutex_lock_ldv_list_add_~new#1.base|) 0) (exists ((v_DerPreprocessor_1 (Array Int Int)) (v_prenex_2 Int)) (let ((.cse5 (+ v_prenex_2 4))) (and (not (= v_prenex_2 4)) (= |c_#memory_$Pointer$.base| (let ((.cse1 (store .cse4 .cse5 (select .cse6 .cse5)))) (let ((.cse0 (let ((.cse3 (select |c_#memory_$Pointer$.base| |mutex_lock_ldv_list_add_~new#1.base|))) (store (store (select (store .cse2 3 .cse1) |mutex_lock_ldv_list_add_~new#1.base|) 4 (select .cse3 4)) 8 (select .cse3 8))))) (store (store |c_old(#memory_$Pointer$.base)| |mutex_lock_ldv_list_add_~new#1.base| .cse0) 3 (store (select (store (store |c_old(#memory_$Pointer$.base)| 3 .cse1) |mutex_lock_ldv_list_add_~new#1.base| .cse0) 3) 0 |mutex_lock_ldv_list_add_~new#1.base|))))) (= (store (store |c_old(#memory_$Pointer$.offset)| |mutex_lock_ldv_list_add_~new#1.base| (select |c_#memory_$Pointer$.offset| |mutex_lock_ldv_list_add_~new#1.base|)) 3 (store (select (let ((.cse8 (store |c_old(#memory_$Pointer$.offset)| |mutex_lock_ldv_list_add_~new#1.base| v_DerPreprocessor_1))) (let ((.cse7 (store (select .cse8 3) .cse5 4))) (store (store |c_old(#memory_$Pointer$.offset)| 3 .cse7) |mutex_lock_ldv_list_add_~new#1.base| (store (store (select (store .cse8 3 .cse7) |mutex_lock_ldv_list_add_~new#1.base|) 4 v_prenex_2) 8 0)))) 3) 0 4)) |c_#memory_$Pointer$.offset|)))) (= 3 (select .cse4 0)) (not (= |mutex_lock_ldv_list_add_~new#1.base| 3)))))) (and (or (and .cse9 .cse10 .cse11 .cse12 (= .cse13 0)) (= (store .cse14 3 (store (select (let ((.cse15 (store (select .cse14 3) 0 4))) (store (store |c_old(#memory_$Pointer$.offset)| 3 .cse15) .cse16 (store (store (select (store .cse14 3 .cse15) .cse16) 4 (- 4)) 8 0))) 3) 0 4)) |c_#memory_$Pointer$.offset|)) .cse17 .cse18 .cse19) (and .cse9 .cse20 .cse10 (= |c_#memory_$Pointer$.base| (store |c_old(#memory_$Pointer$.base)| 3 (store (store (store (store .cse21 .cse13 (select .cse6 .cse13)) 4 .cse22) 8 .cse23) 0 3))) (or (= .cse24 0) (= (select .cse25 .cse13) 4) (= .cse24 4)) .cse26 .cse12) (and .cse27 (exists ((v_DerPreprocessor_1 (Array Int Int)) (v_prenex_4 Int)) (let ((.cse35 (+ v_prenex_4 4))) (and (= |c_#memory_$Pointer$.base| (let ((.cse28 (let ((.cse30 (store .cse34 .cse35 (select .cse36 .cse35)))) (store (store |c_old(#memory_$Pointer$.base)| .cse29 .cse30) .cse16 (store (store (select (store .cse31 .cse29 .cse30) .cse16) 4 .cse32) 8 .cse33))))) (store .cse28 3 (store (select .cse28 3) 0 .cse16)))) (= |c_#memory_$Pointer$.offset| (store .cse14 3 (store (select (let ((.cse38 (store |c_old(#memory_$Pointer$.offset)| .cse16 v_DerPreprocessor_1))) (let ((.cse37 (store (select .cse38 .cse29) .cse35 4))) (store (store |c_old(#memory_$Pointer$.offset)| .cse29 .cse37) .cse16 (store (store (select (store .cse38 .cse29 .cse37) .cse16) 4 v_prenex_4) 8 0)))) 3) 0 4)))))) .cse39 .cse19) (exists ((|mutex_lock_ldv_list_add_~new#1.base| Int)) (let ((.cse45 (store |c_old(#memory_$Pointer$.base)| |mutex_lock_ldv_list_add_~new#1.base| (store (select |c_old(#memory_$Pointer$.base)| |mutex_lock_ldv_list_add_~new#1.base|) 0 |c_mutex_lock_#in~m#1.base|)))) (let ((.cse47 (select .cse45 3))) (and (exists ((v_DerPreprocessor_1 (Array Int Int)) (v_prenex_1 Int)) (let ((.cse42 (+ v_prenex_1 4))) (and (= |c_#memory_$Pointer$.offset| (store (store |c_old(#memory_$Pointer$.offset)| |mutex_lock_ldv_list_add_~new#1.base| (select |c_#memory_$Pointer$.offset| |mutex_lock_ldv_list_add_~new#1.base|)) 3 (store (select (let ((.cse41 (store |c_old(#memory_$Pointer$.offset)| |mutex_lock_ldv_list_add_~new#1.base| v_DerPreprocessor_1))) (let ((.cse40 (store (select .cse41 3) .cse42 4))) (store (store |c_old(#memory_$Pointer$.offset)| 3 .cse40) |mutex_lock_ldv_list_add_~new#1.base| (store (store (select (store .cse41 3 .cse40) |mutex_lock_ldv_list_add_~new#1.base|) 4 v_prenex_1) 8 0)))) 3) 0 4))) (= |c_#memory_$Pointer$.base| (let ((.cse44 (store .cse47 .cse42 (select .cse6 .cse42)))) (let ((.cse43 (let ((.cse46 (select |c_#memory_$Pointer$.base| |mutex_lock_ldv_list_add_~new#1.base|))) (store (store (select (store .cse45 3 .cse44) |mutex_lock_ldv_list_add_~new#1.base|) 4 (select .cse46 4)) 8 (select .cse46 8))))) (store (store |c_old(#memory_$Pointer$.base)| |mutex_lock_ldv_list_add_~new#1.base| .cse43) 3 (store (select (store (store |c_old(#memory_$Pointer$.base)| 3 .cse44) |mutex_lock_ldv_list_add_~new#1.base| .cse43) 3) 0 |mutex_lock_ldv_list_add_~new#1.base|)))))))) (= (select |c_old(#valid)| |mutex_lock_ldv_list_add_~new#1.base|) 0) (= 3 (select .cse47 0)) (not (= |mutex_lock_ldv_list_add_~new#1.base| 3)))))) (and .cse39 (exists ((v_DerPreprocessor_1 (Array Int Int)) (v_prenex_8 Int)) (let ((.cse50 (+ v_prenex_8 4))) (and (= |c_#memory_$Pointer$.base| (let ((.cse48 (let ((.cse49 (store .cse34 .cse50 (select .cse36 .cse50)))) (store (store |c_old(#memory_$Pointer$.base)| .cse29 .cse49) .cse16 (store (store (select (store .cse31 .cse29 .cse49) .cse16) 4 .cse32) 8 .cse33))))) (store .cse48 3 (store (select .cse48 3) 0 .cse16)))) (= (store (store (store |c_old(#memory_$Pointer$.offset)| .cse29 (select |c_#memory_$Pointer$.offset| .cse29)) .cse16 .cse51) 3 (store (select (let ((.cse53 (store |c_old(#memory_$Pointer$.offset)| .cse16 v_DerPreprocessor_1))) (let ((.cse52 (store (select .cse53 .cse29) .cse50 4))) (store (store |c_old(#memory_$Pointer$.offset)| .cse29 .cse52) .cse16 (store (store (select (store .cse53 .cse29 .cse52) .cse16) 4 v_prenex_8) 8 0)))) 3) 0 4)) |c_#memory_$Pointer$.offset|)))) (not .cse27) (not .cse17) .cse19) (and .cse27 .cse39 (exists ((v_DerPreprocessor_1 (Array Int Int)) (v_prenex_5 Int)) (let ((.cse54 (+ v_prenex_5 4))) (and (not (= .cse54 0)) (= (store .cse14 3 (store (select (let ((.cse56 (store |c_old(#memory_$Pointer$.offset)| .cse16 v_DerPreprocessor_1))) (let ((.cse55 (store (select .cse56 .cse29) .cse54 4))) (store (store |c_old(#memory_$Pointer$.offset)| .cse29 .cse55) .cse16 (store (store (select (store .cse56 .cse29 .cse55) .cse16) 4 v_prenex_5) 8 0)))) 3) 0 4)) |c_#memory_$Pointer$.offset|) (= |c_#memory_$Pointer$.base| (let ((.cse57 (let ((.cse58 (store .cse34 .cse54 (select .cse36 .cse54)))) (store (store |c_old(#memory_$Pointer$.base)| .cse29 .cse58) .cse16 (store (store (select (store .cse31 .cse29 .cse58) .cse16) 4 .cse32) 8 .cse33))))) (store .cse57 3 (store (select .cse57 3) 0 .cse16))))))) .cse19) (and (not .cse26) .cse20 (exists ((v_prenex_6 Int) (v_DerPreprocessor_1 (Array Int Int))) (let ((.cse60 (+ v_prenex_6 4))) (and (= |c_#memory_$Pointer$.offset| (store (store |c_old(#memory_$Pointer$.offset)| |c_mutex_lock_#in~m#1.base| (select |c_#memory_$Pointer$.offset| |c_mutex_lock_#in~m#1.base|)) 3 (store (store (store (select (let ((.cse59 (store |c_old(#memory_$Pointer$.offset)| 3 v_DerPreprocessor_1))) (store .cse59 |c_mutex_lock_#in~m#1.base| (store (select .cse59 |c_mutex_lock_#in~m#1.base|) .cse60 4))) 3) 4 v_prenex_6) 8 0) 0 4))) (= |c_#memory_$Pointer$.base| (let ((.cse62 (store |c_old(#memory_$Pointer$.base)| 3 (store .cse21 0 |c_mutex_lock_#in~m#1.base|)))) (let ((.cse61 (store (select .cse62 |c_mutex_lock_#in~m#1.base|) .cse60 (select (select |c_#memory_$Pointer$.base| |c_mutex_lock_#in~m#1.base|) .cse60)))) (store (store |c_old(#memory_$Pointer$.base)| |c_mutex_lock_#in~m#1.base| .cse61) 3 (store (store (store (select (store .cse62 |c_mutex_lock_#in~m#1.base| .cse61) 3) 4 .cse22) 8 .cse23) 0 3))))))))) (and .cse27 .cse18 (= (store .cse14 3 (store (select (let ((.cse63 (store (select .cse14 .cse29) 4 4))) (store (store |c_old(#memory_$Pointer$.offset)| .cse29 .cse63) .cse16 (store (store (select (store .cse14 .cse29 .cse63) .cse16) 4 0) 8 0))) 3) 0 4)) |c_#memory_$Pointer$.offset|) .cse19) (exists ((|mutex_lock_ldv_list_add_~new#1.base| Int)) (let ((.cse66 (store |c_old(#memory_$Pointer$.base)| |mutex_lock_ldv_list_add_~new#1.base| (store (select |c_old(#memory_$Pointer$.base)| |mutex_lock_ldv_list_add_~new#1.base|) 0 |c_mutex_lock_#in~m#1.base|)))) (let ((.cse68 (select .cse66 3))) (and (= (select |c_old(#valid)| |mutex_lock_ldv_list_add_~new#1.base|) 0) (exists ((v_DerPreprocessor_1 (Array Int Int)) (__ldv_list_add_~next.offset Int)) (let ((.cse69 (+ __ldv_list_add_~next.offset 4))) (and (= |c_#memory_$Pointer$.base| (let ((.cse65 (store .cse68 .cse69 (select .cse6 .cse69)))) (let ((.cse64 (let ((.cse67 (select |c_#memory_$Pointer$.base| |mutex_lock_ldv_list_add_~new#1.base|))) (store (store (select (store .cse66 3 .cse65) |mutex_lock_ldv_list_add_~new#1.base|) 4 (select .cse67 4)) 8 (select .cse67 8))))) (store (store |c_old(#memory_$Pointer$.base)| |mutex_lock_ldv_list_add_~new#1.base| .cse64) 3 (store (select (store (store |c_old(#memory_$Pointer$.base)| 3 .cse65) |mutex_lock_ldv_list_add_~new#1.base| .cse64) 3) 0 |mutex_lock_ldv_list_add_~new#1.base|))))) (not (= __ldv_list_add_~next.offset 0)) (not (= __ldv_list_add_~next.offset 4)) (= |c_#memory_$Pointer$.offset| (store (store |c_old(#memory_$Pointer$.offset)| |mutex_lock_ldv_list_add_~new#1.base| (select |c_#memory_$Pointer$.offset| |mutex_lock_ldv_list_add_~new#1.base|)) 3 (store (select (let ((.cse71 (store |c_old(#memory_$Pointer$.offset)| |mutex_lock_ldv_list_add_~new#1.base| v_DerPreprocessor_1))) (let ((.cse70 (store (select .cse71 3) .cse69 4))) (store (store |c_old(#memory_$Pointer$.offset)| 3 .cse70) |mutex_lock_ldv_list_add_~new#1.base| (store (store (select (store .cse71 3 .cse70) |mutex_lock_ldv_list_add_~new#1.base|) 4 __ldv_list_add_~next.offset) 8 0)))) 3) 0 4)))))) (= 3 (select .cse68 0)) (not (= |mutex_lock_ldv_list_add_~new#1.base| 3))))))))))))) (exists ((ldv_is_in_set_~s.base Int)) (= (select (select |c_old(#memory_$Pointer$.offset)| ldv_is_in_set_~s.base) 0) 0)) (= 3 |c_~#mutexes~0.base|)) is different from false