./Ultimate.py --spec ../../../trunk/examples/svcomp/properties/unreach-call.prp --file ../../../trunk/examples/svcomp/pthread-ext/04_incdec_cas.i --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version d2ba6107 Calling Ultimate with: /root/.sdkman/candidates/java/current/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/config/GemCutterReach.xml -i ../../../trunk/examples/svcomp/pthread-ext/04_incdec_cas.i -s /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/config/svcomp-Reach-32bit-GemCutter_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UGemCutter-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 GemCutter --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash a9295efc0d8bacfc5fb202511f0d3721ae5554ffb4def47cf5dbf45088356869 --- Real Ultimate output --- This is Ultimate 0.2.3-dev-d2ba610-m [2023-11-21 19:55:57,015 INFO L188 SettingsManager]: Resetting all preferences to default values... [2023-11-21 19:55:57,108 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/config/svcomp-Reach-32bit-GemCutter_Default.epf [2023-11-21 19:55:57,113 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2023-11-21 19:55:57,113 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2023-11-21 19:55:57,136 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2023-11-21 19:55:57,137 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2023-11-21 19:55:57,137 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2023-11-21 19:55:57,138 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2023-11-21 19:55:57,141 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2023-11-21 19:55:57,142 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2023-11-21 19:55:57,142 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2023-11-21 19:55:57,143 INFO L153 SettingsManager]: * Use SBE=true [2023-11-21 19:55:57,144 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2023-11-21 19:55:57,144 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2023-11-21 19:55:57,144 INFO L153 SettingsManager]: * sizeof long=4 [2023-11-21 19:55:57,145 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2023-11-21 19:55:57,145 INFO L153 SettingsManager]: * sizeof POINTER=4 [2023-11-21 19:55:57,145 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2023-11-21 19:55:57,145 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2023-11-21 19:55:57,145 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2023-11-21 19:55:57,146 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2023-11-21 19:55:57,146 INFO L153 SettingsManager]: * sizeof long double=12 [2023-11-21 19:55:57,146 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2023-11-21 19:55:57,147 INFO L153 SettingsManager]: * Use constant arrays=true [2023-11-21 19:55:57,147 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2023-11-21 19:55:57,147 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2023-11-21 19:55:57,148 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2023-11-21 19:55:57,148 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2023-11-21 19:55:57,148 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2023-11-21 19:55:57,149 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2023-11-21 19:55:57,149 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2023-11-21 19:55:57,149 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2023-11-21 19:55:57,150 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2023-11-21 19:55:57,150 INFO L153 SettingsManager]: * DFS Order used in POR=LOOP_LOCKSTEP [2023-11-21 19:55:57,150 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2023-11-21 19:55:57,150 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2023-11-21 19:55:57,150 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PARTIAL_ORDER_FA [2023-11-21 19:55:57,150 INFO L153 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2023-11-21 19:55:57,151 INFO L153 SettingsManager]: * CEGAR restart behaviour=ONE_CEGAR_PER_THREAD_INSTANCE [2023-11-21 19:55:57,151 INFO L153 SettingsManager]: * Partial Order Reduction in concurrent analysis=PERSISTENT_SLEEP_NEW_STATES_FIXEDORDER [2023-11-21 19:55:57,151 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/releaseScripts/default/UGemCutter-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 -> GemCutter 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 -> a9295efc0d8bacfc5fb202511f0d3721ae5554ffb4def47cf5dbf45088356869 [2023-11-21 19:55:57,364 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2023-11-21 19:55:57,385 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2023-11-21 19:55:57,387 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2023-11-21 19:55:57,388 INFO L270 PluginConnector]: Initializing CDTParser... [2023-11-21 19:55:57,388 INFO L274 PluginConnector]: CDTParser initialized [2023-11-21 19:55:57,389 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/../../../trunk/examples/svcomp/pthread-ext/04_incdec_cas.i [2023-11-21 19:55:58,463 INFO L533 CDTParser]: Created temporary CDT project at NULL [2023-11-21 19:55:58,685 INFO L384 CDTParser]: Found 1 translation units. [2023-11-21 19:55:58,686 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/pthread-ext/04_incdec_cas.i [2023-11-21 19:55:58,695 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/data/8a3c9a731/6b1ca5ab0302441983ba1fb65b3d72b9/FLAG89a270638 [2023-11-21 19:55:58,709 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/data/8a3c9a731/6b1ca5ab0302441983ba1fb65b3d72b9 [2023-11-21 19:55:58,711 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2023-11-21 19:55:58,712 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2023-11-21 19:55:58,713 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2023-11-21 19:55:58,713 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2023-11-21 19:55:58,716 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2023-11-21 19:55:58,717 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 21.11 07:55:58" (1/1) ... [2023-11-21 19:55:58,717 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@68e30602 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.11 07:55:58, skipping insertion in model container [2023-11-21 19:55:58,718 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 21.11 07:55:58" (1/1) ... [2023-11-21 19:55:58,764 INFO L177 MainTranslator]: Built tables and reachable declarations [2023-11-21 19:55:59,086 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-ext/04_incdec_cas.i[30369,30382] [2023-11-21 19:55:59,097 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-ext/04_incdec_cas.i[30869,30882] [2023-11-21 19:55:59,106 INFO L209 PostProcessor]: Analyzing one entry point: main [2023-11-21 19:55:59,115 INFO L202 MainTranslator]: Completed pre-run [2023-11-21 19:55:59,151 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-ext/04_incdec_cas.i[30369,30382] [2023-11-21 19:55:59,160 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-ext/04_incdec_cas.i[30869,30882] [2023-11-21 19:55:59,165 INFO L209 PostProcessor]: Analyzing one entry point: main [2023-11-21 19:55:59,186 WARN L675 CHandler]: The function __VERIFIER_atomic_begin is called, but not defined or handled by StandardFunctionHandler. [2023-11-21 19:55:59,186 WARN L675 CHandler]: The function __VERIFIER_atomic_end is called, but not defined or handled by StandardFunctionHandler. [2023-11-21 19:55:59,192 INFO L206 MainTranslator]: Completed translation [2023-11-21 19:55:59,192 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.11 07:55:59 WrapperNode [2023-11-21 19:55:59,192 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2023-11-21 19:55:59,193 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2023-11-21 19:55:59,194 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2023-11-21 19:55:59,194 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2023-11-21 19:55:59,199 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.11 07:55:59" (1/1) ... [2023-11-21 19:55:59,223 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.11 07:55:59" (1/1) ... [2023-11-21 19:55:59,240 INFO L138 Inliner]: procedures = 174, calls = 47, calls flagged for inlining = 8, calls inlined = 8, statements flattened = 162 [2023-11-21 19:55:59,241 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2023-11-21 19:55:59,241 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2023-11-21 19:55:59,241 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2023-11-21 19:55:59,242 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2023-11-21 19:55:59,248 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.11 07:55:59" (1/1) ... [2023-11-21 19:55:59,254 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.11 07:55:59" (1/1) ... [2023-11-21 19:55:59,256 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.11 07:55:59" (1/1) ... [2023-11-21 19:55:59,256 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.11 07:55:59" (1/1) ... [2023-11-21 19:55:59,260 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.11 07:55:59" (1/1) ... [2023-11-21 19:55:59,263 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.11 07:55:59" (1/1) ... [2023-11-21 19:55:59,264 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.11 07:55:59" (1/1) ... [2023-11-21 19:55:59,265 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.11 07:55:59" (1/1) ... [2023-11-21 19:55:59,267 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2023-11-21 19:55:59,268 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2023-11-21 19:55:59,268 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2023-11-21 19:55:59,268 INFO L274 PluginConnector]: RCFGBuilder initialized [2023-11-21 19:55:59,269 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.11 07:55:59" (1/1) ... [2023-11-21 19:55:59,290 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2023-11-21 19:55:59,299 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2023-11-21 19:55:59,313 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2023-11-21 19:55:59,333 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2023-11-21 19:55:59,358 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2023-11-21 19:55:59,358 INFO L130 BoogieDeclarations]: Found specification of procedure thr1 [2023-11-21 19:55:59,358 INFO L138 BoogieDeclarations]: Found implementation of procedure thr1 [2023-11-21 19:55:59,358 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2023-11-21 19:55:59,358 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2023-11-21 19:55:59,359 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2023-11-21 19:55:59,360 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2023-11-21 19:55:59,360 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2023-11-21 19:55:59,360 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2023-11-21 19:55:59,360 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2023-11-21 19:55:59,360 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2023-11-21 19:55:59,360 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2023-11-21 19:55:59,362 WARN L212 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to OneNontrivialStatement [2023-11-21 19:55:59,524 INFO L240 CfgBuilder]: Building ICFG [2023-11-21 19:55:59,530 INFO L266 CfgBuilder]: Building CFG for each procedure with an implementation [2023-11-21 19:55:59,791 INFO L281 CfgBuilder]: Performing block encoding [2023-11-21 19:55:59,982 INFO L303 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2023-11-21 19:55:59,982 INFO L308 CfgBuilder]: Removed 3 assume(true) statements. [2023-11-21 19:55:59,983 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 21.11 07:55:59 BoogieIcfgContainer [2023-11-21 19:55:59,984 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2023-11-21 19:55:59,986 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2023-11-21 19:55:59,986 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2023-11-21 19:55:59,989 INFO L274 PluginConnector]: TraceAbstraction initialized [2023-11-21 19:55:59,989 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 21.11 07:55:58" (1/3) ... [2023-11-21 19:55:59,990 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@70eedaae and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 21.11 07:55:59, skipping insertion in model container [2023-11-21 19:55:59,990 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.11 07:55:59" (2/3) ... [2023-11-21 19:55:59,991 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@70eedaae and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 21.11 07:55:59, skipping insertion in model container [2023-11-21 19:55:59,991 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 21.11 07:55:59" (3/3) ... [2023-11-21 19:55:59,992 INFO L112 eAbstractionObserver]: Analyzing ICFG 04_incdec_cas.i [2023-11-21 19:55:59,999 WARN L145 ceAbstractionStarter]: Switching off computation of Hoare annotation because input is a concurrent program [2023-11-21 19:56:00,006 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2023-11-21 19:56:00,006 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 2 error locations. [2023-11-21 19:56:00,006 INFO L514 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2023-11-21 19:56:00,055 INFO L144 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2023-11-21 19:56:00,082 INFO L100 denceProviderFactory]: Independence Relation #1: [IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=true, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2023-11-21 19:56:00,082 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 [2023-11-21 19:56:00,082 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2023-11-21 19:56:00,084 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (exit command is (exit), workingDir is null) [2023-11-21 19:56:00,090 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (2)] Waiting until timeout for monitored process [2023-11-21 19:56:00,111 INFO L159 artialOrderCegarLoop]: Running PartialOrderCegarLoop with 1 independence relations. [2023-11-21 19:56:00,120 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == thr1Thread1of1ForFork0 ======== [2023-11-21 19:56:00,124 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=PARTIAL_ORDER_FA, 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;@296bd725, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2023-11-21 19:56:00,125 INFO L358 AbstractCegarLoop]: Starting to check reachability of 2 error locations. [2023-11-21 19:56:00,217 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting thr1Err1ASSERT_VIOLATIONERROR_FUNCTION === [thr1Err1ASSERT_VIOLATIONERROR_FUNCTION, thr1Err0ASSERT_VIOLATIONERROR_FUNCTION] === [2023-11-21 19:56:00,221 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2023-11-21 19:56:00,221 INFO L85 PathProgramCache]: Analyzing trace with hash -1020178203, now seen corresponding path program 1 times [2023-11-21 19:56:00,228 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-11-21 19:56:00,228 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1620779055] [2023-11-21 19:56:00,228 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-11-21 19:56:00,229 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-11-21 19:56:00,334 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-21 19:56:00,399 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2023-11-21 19:56:00,399 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-11-21 19:56:00,400 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1620779055] [2023-11-21 19:56:00,401 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1620779055] provided 1 perfect and 0 imperfect interpolant sequences [2023-11-21 19:56:00,401 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2023-11-21 19:56:00,401 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2023-11-21 19:56:00,402 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1561919413] [2023-11-21 19:56:00,403 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2023-11-21 19:56:00,406 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2023-11-21 19:56:00,406 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-11-21 19:56:00,428 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2023-11-21 19:56:00,429 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2023-11-21 19:56:00,429 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:56:00,431 INFO L495 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2023-11-21 19:56:00,432 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 4.0) internal successors, (8), 2 states have internal predecessors, (8), 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) [2023-11-21 19:56:00,432 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:56:00,547 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:56:00,547 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2023-11-21 19:56:00,548 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting thr1Err1ASSERT_VIOLATIONERROR_FUNCTION === [thr1Err1ASSERT_VIOLATIONERROR_FUNCTION, thr1Err0ASSERT_VIOLATIONERROR_FUNCTION] === [2023-11-21 19:56:00,550 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2023-11-21 19:56:00,550 INFO L85 PathProgramCache]: Analyzing trace with hash 960673530, now seen corresponding path program 1 times [2023-11-21 19:56:00,550 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-11-21 19:56:00,551 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1694195047] [2023-11-21 19:56:00,551 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-11-21 19:56:00,551 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-11-21 19:56:00,640 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-21 19:56:00,973 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2023-11-21 19:56:00,973 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-11-21 19:56:00,973 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1694195047] [2023-11-21 19:56:00,973 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1694195047] provided 1 perfect and 0 imperfect interpolant sequences [2023-11-21 19:56:00,973 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2023-11-21 19:56:00,973 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2023-11-21 19:56:00,973 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [693857691] [2023-11-21 19:56:00,974 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2023-11-21 19:56:00,974 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2023-11-21 19:56:00,975 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-11-21 19:56:00,975 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2023-11-21 19:56:00,975 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2023-11-21 19:56:00,975 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:56:00,976 INFO L495 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2023-11-21 19:56:00,976 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 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) [2023-11-21 19:56:00,976 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:56:00,977 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:56:01,202 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:56:01,203 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2023-11-21 19:56:01,203 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2023-11-21 19:56:01,203 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting thr1Err0ASSERT_VIOLATIONERROR_FUNCTION === [thr1Err1ASSERT_VIOLATIONERROR_FUNCTION, thr1Err0ASSERT_VIOLATIONERROR_FUNCTION] === [2023-11-21 19:56:01,204 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2023-11-21 19:56:01,204 INFO L85 PathProgramCache]: Analyzing trace with hash -1530439684, now seen corresponding path program 1 times [2023-11-21 19:56:01,204 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-11-21 19:56:01,204 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1342795640] [2023-11-21 19:56:01,205 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-11-21 19:56:01,205 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-11-21 19:56:01,248 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-21 19:56:01,749 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2023-11-21 19:56:01,750 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-11-21 19:56:01,750 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1342795640] [2023-11-21 19:56:01,750 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1342795640] provided 1 perfect and 0 imperfect interpolant sequences [2023-11-21 19:56:01,750 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2023-11-21 19:56:01,751 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2023-11-21 19:56:01,751 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [901939221] [2023-11-21 19:56:01,751 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2023-11-21 19:56:01,751 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2023-11-21 19:56:01,751 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-11-21 19:56:01,752 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2023-11-21 19:56:01,752 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=67, Unknown=0, NotChecked=0, Total=90 [2023-11-21 19:56:01,752 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:56:01,753 INFO L495 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2023-11-21 19:56:01,753 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 9 states have (on average 1.3333333333333333) internal successors, (12), 9 states have internal predecessors, (12), 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) [2023-11-21 19:56:01,753 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:56:01,753 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 4 states. [2023-11-21 19:56:01,754 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:56:01,976 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:56:01,977 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2023-11-21 19:56:01,977 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2023-11-21 19:56:01,977 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2023-11-21 19:56:01,977 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting thr1Err0ASSERT_VIOLATIONERROR_FUNCTION === [thr1Err1ASSERT_VIOLATIONERROR_FUNCTION, thr1Err0ASSERT_VIOLATIONERROR_FUNCTION] === [2023-11-21 19:56:01,978 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2023-11-21 19:56:01,978 INFO L85 PathProgramCache]: Analyzing trace with hash -198990446, now seen corresponding path program 2 times [2023-11-21 19:56:01,979 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-11-21 19:56:01,979 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1905873919] [2023-11-21 19:56:01,979 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-11-21 19:56:01,980 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-11-21 19:56:02,004 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-21 19:56:02,398 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2023-11-21 19:56:02,399 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-11-21 19:56:02,400 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1905873919] [2023-11-21 19:56:02,400 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1905873919] provided 0 perfect and 1 imperfect interpolant sequences [2023-11-21 19:56:02,401 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [227730471] [2023-11-21 19:56:02,401 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2023-11-21 19:56:02,401 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2023-11-21 19:56:02,401 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2023-11-21 19:56:02,437 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2023-11-21 19:56:02,456 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2023-11-21 19:56:02,526 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2023-11-21 19:56:02,527 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2023-11-21 19:56:02,529 INFO L262 TraceCheckSpWp]: Trace formula consists of 131 conjuncts, 36 conjunts are in the unsatisfiable core [2023-11-21 19:56:02,534 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2023-11-21 19:56:02,607 INFO L349 Elim1Store]: treesize reduction 18, result has 35.7 percent of original size [2023-11-21 19:56:02,608 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 [2023-11-21 19:56:02,639 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 [2023-11-21 19:56:02,694 INFO L349 Elim1Store]: treesize reduction 8, result has 52.9 percent of original size [2023-11-21 19:56:02,695 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 16 treesize of output 18 [2023-11-21 19:56:02,814 INFO L190 IndexEqualityManager]: detected not equals via solver [2023-11-21 19:56:02,893 INFO L349 Elim1Store]: treesize reduction 116, result has 29.7 percent of original size [2023-11-21 19:56:02,894 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 4 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 6 new quantified variables, introduced 4 case distinctions, treesize of input 118 treesize of output 268 [2023-11-21 19:56:02,943 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 17 treesize of output 15 [2023-11-21 19:56:02,959 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 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 22 treesize of output 18 [2023-11-21 19:56:03,079 INFO L173 IndexEqualityManager]: detected equality via solver [2023-11-21 19:56:03,093 INFO L349 Elim1Store]: treesize reduction 25, result has 24.2 percent of original size [2023-11-21 19:56:03,094 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 2 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 5 case distinctions, treesize of input 68 treesize of output 50 [2023-11-21 19:56:03,129 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 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 35 treesize of output 16 [2023-11-21 19:56:03,166 INFO L173 IndexEqualityManager]: detected equality via solver [2023-11-21 19:56:03,168 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 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 40 treesize of output 16 [2023-11-21 19:56:03,172 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 5 treesize of output 3 [2023-11-21 19:56:03,317 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 2 stores, 0 select indices, 0 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 56 treesize of output 69 [2023-11-21 19:56:03,334 WARN L320 FreeRefinementEngine]: Global settings require throwing the following exception [2023-11-21 19:56:03,355 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2023-11-21 19:56:03,547 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,3 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2023-11-21 19:56:03,548 FATAL L? ?]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction has thrown an exception: java.lang.AssertionError: no need to replace index at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.arrays.DerPreprocessor.constructReplacementForSelectCase(DerPreprocessor.java:331) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.arrays.DerPreprocessor.constructDerEnabler(DerPreprocessor.java:186) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.arrays.DerPreprocessor.(DerPreprocessor.java:144) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.arrays.ElimStorePlain.applyComplexEliminationRules(ElimStorePlain.java:153) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.DualJunctionSaa.tryToEliminate(DualJunctionSaa.java:190) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.DualJunctionSaa.tryToEliminateOne3(DualJunctionSaa.java:172) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.DualJunctionSaa.tryToEliminateOne2(DualJunctionSaa.java:151) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.DualJunctionSaa.tryToEliminateOne1(DualJunctionSaa.java:140) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.DualJunctionSaa.tryToEliminateOne0(DualJunctionSaa.java:122) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.DualJunctionSaa.tryToEliminateOne(DualJunctionSaa.java:108) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.DualJunctionSaa.tryExhaustivelyToEliminate(DualJunctionSaa.java:93) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.DualJunctionSaa.tryToEliminate(DualJunctionSaa.java:88) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.tryToEliminateOne(QuantifierPusher.java:543) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.applyNewEliminationTechniquesExhaustively(QuantifierPusher.java:522) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.applyDualJunctionEliminationTechniques(QuantifierPusher.java:515) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.tryToPushOverDualFiniteConnective(QuantifierPusher.java:326) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPushTermWalker.convert(QuantifierPushTermWalker.java:189) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPushTermWalker.convert(QuantifierPushTermWalker.java:1) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.TermContextTransformationEngine$ApplicationTermTask.doStep(TermContextTransformationEngine.java:209) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.TermContextTransformationEngine.transform(TermContextTransformationEngine.java:100) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.TermContextTransformationEngine.transform(TermContextTransformationEngine.java:84) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPushTermWalker.eliminate(QuantifierPushTermWalker.java:297) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPushTermWalker.eliminate(QuantifierPushTermWalker.java:283) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.PartialQuantifierElimination.eliminate(PartialQuantifierElimination.java:51) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.predicates.IterativePredicateTransformer$QuantifierEliminationPostprocessor.postprocess(IterativePredicateTransformer.java:238) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.predicates.IterativePredicateTransformer.applyPostprocessors(IterativePredicateTransformer.java:420) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.predicates.IterativePredicateTransformer.computeStrongestPostconditionSequence(IterativePredicateTransformer.java:199) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.TraceCheckSpWp.computeInterpolantsUsingUnsatCore(TraceCheckSpWp.java:298) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.TraceCheckSpWp.computeInterpolants(TraceCheckSpWp.java:184) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.TraceCheckSpWp.(TraceCheckSpWp.java:162) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleSpWp.construct(IpTcStrategyModuleSpWp.java:110) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleSpWp.construct(IpTcStrategyModuleSpWp.java:1) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleBase.getOrConstruct(IpTcStrategyModuleBase.java:101) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleBase.getInterpolantComputationStatus(IpTcStrategyModuleBase.java:77) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.tracehandling.AutomatonFreeRefinementEngine.tryExecuteInterpolantGenerator(AutomatonFreeRefinementEngine.java:267) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.tracehandling.AutomatonFreeRefinementEngine.generateProof(AutomatonFreeRefinementEngine.java:148) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.tracehandling.AutomatonFreeRefinementEngine.executeStrategy(AutomatonFreeRefinementEngine.java:137) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.tracehandling.AutomatonFreeRefinementEngine.(AutomatonFreeRefinementEngine.java:85) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceAbstractionRefinementEngine.(TraceAbstractionRefinementEngine.java:82) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.BasicCegarLoop.isCounterexampleFeasible(BasicCegarLoop.java:337) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterate(AbstractCegarLoop.java:431) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.startCegar(AbstractCegarLoop.java:366) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.runCegar(AbstractCegarLoop.java:348) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.executeCegarLoop(TraceAbstractionStarter.java:415) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.analyseProgram(TraceAbstractionStarter.java:302) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.analyseConcurrentProgram(TraceAbstractionStarter.java:225) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:173) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:154) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:124) 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) [2023-11-21 19:56:03,554 INFO L158 Benchmark]: Toolchain (without parser) took 4840.41ms. Allocated memory was 146.8MB in the beginning and 245.4MB in the end (delta: 98.6MB). Free memory was 90.1MB in the beginning and 84.8MB in the end (delta: 5.3MB). Peak memory consumption was 105.0MB. Max. memory is 16.1GB. [2023-11-21 19:56:03,554 INFO L158 Benchmark]: CDTParser took 0.16ms. Allocated memory is still 146.8MB. Free memory is still 109.2MB. There was no memory consumed. Max. memory is 16.1GB. [2023-11-21 19:56:03,555 INFO L158 Benchmark]: CACSL2BoogieTranslator took 480.11ms. Allocated memory is still 146.8MB. Free memory was 89.8MB in the beginning and 68.8MB in the end (delta: 21.0MB). Peak memory consumption was 21.0MB. Max. memory is 16.1GB. [2023-11-21 19:56:03,555 INFO L158 Benchmark]: Boogie Procedure Inliner took 47.45ms. Allocated memory is still 146.8MB. Free memory was 68.8MB in the beginning and 66.5MB in the end (delta: 2.3MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2023-11-21 19:56:03,557 INFO L158 Benchmark]: Boogie Preprocessor took 26.03ms. Allocated memory is still 146.8MB. Free memory was 66.2MB in the beginning and 64.7MB in the end (delta: 1.5MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2023-11-21 19:56:03,559 INFO L158 Benchmark]: RCFGBuilder took 716.16ms. Allocated memory was 146.8MB in the beginning and 245.4MB in the end (delta: 98.6MB). Free memory was 64.7MB in the beginning and 177.1MB in the end (delta: -112.4MB). Peak memory consumption was 19.0MB. Max. memory is 16.1GB. [2023-11-21 19:56:03,562 INFO L158 Benchmark]: TraceAbstraction took 3566.04ms. Allocated memory is still 245.4MB. Free memory was 176.1MB in the beginning and 84.8MB in the end (delta: 91.2MB). Peak memory consumption was 90.2MB. Max. memory is 16.1GB. [2023-11-21 19:56:03,566 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.16ms. Allocated memory is still 146.8MB. Free memory is still 109.2MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 480.11ms. Allocated memory is still 146.8MB. Free memory was 89.8MB in the beginning and 68.8MB in the end (delta: 21.0MB). Peak memory consumption was 21.0MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 47.45ms. Allocated memory is still 146.8MB. Free memory was 68.8MB in the beginning and 66.5MB in the end (delta: 2.3MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * Boogie Preprocessor took 26.03ms. Allocated memory is still 146.8MB. Free memory was 66.2MB in the beginning and 64.7MB in the end (delta: 1.5MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * RCFGBuilder took 716.16ms. Allocated memory was 146.8MB in the beginning and 245.4MB in the end (delta: 98.6MB). Free memory was 64.7MB in the beginning and 177.1MB in the end (delta: -112.4MB). Peak memory consumption was 19.0MB. Max. memory is 16.1GB. * TraceAbstraction took 3566.04ms. Allocated memory is still 245.4MB. Free memory was 176.1MB in the beginning and 84.8MB in the end (delta: 91.2MB). Peak memory consumption was 90.2MB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - ExceptionOrErrorResult: AssertionError: no need to replace index de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: AssertionError: no need to replace index: de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.arrays.DerPreprocessor.constructReplacementForSelectCase(DerPreprocessor.java:331) RESULT: Ultimate could not prove your program: Toolchain returned no result. [2023-11-21 19:56:03,590 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (2)] Forceful destruction successful, exit code 0 [2023-11-21 19:56:03,799 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, 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/current/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/config/GemCutterReach.xml -i ../../../trunk/examples/svcomp/pthread-ext/04_incdec_cas.i -s /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/config/svcomp-Reach-32bit-GemCutter_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UGemCutter-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 GemCutter --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash a9295efc0d8bacfc5fb202511f0d3721ae5554ffb4def47cf5dbf45088356869 --- Real Ultimate output --- This is Ultimate 0.2.3-dev-d2ba610-m [2023-11-21 19:56:05,911 INFO L188 SettingsManager]: Resetting all preferences to default values... [2023-11-21 19:56:05,984 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/config/svcomp-Reach-32bit-GemCutter_Bitvector.epf [2023-11-21 19:56:05,994 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2023-11-21 19:56:05,995 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2023-11-21 19:56:06,026 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2023-11-21 19:56:06,027 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2023-11-21 19:56:06,028 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2023-11-21 19:56:06,032 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2023-11-21 19:56:06,032 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2023-11-21 19:56:06,033 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2023-11-21 19:56:06,033 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2023-11-21 19:56:06,033 INFO L153 SettingsManager]: * Use SBE=true [2023-11-21 19:56:06,036 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2023-11-21 19:56:06,036 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2023-11-21 19:56:06,036 INFO L153 SettingsManager]: * sizeof long=4 [2023-11-21 19:56:06,037 INFO L153 SettingsManager]: * sizeof POINTER=4 [2023-11-21 19:56:06,037 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2023-11-21 19:56:06,038 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2023-11-21 19:56:06,038 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2023-11-21 19:56:06,038 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2023-11-21 19:56:06,039 INFO L153 SettingsManager]: * Use bitvectors instead of ints=true [2023-11-21 19:56:06,039 INFO L153 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2023-11-21 19:56:06,039 INFO L153 SettingsManager]: * sizeof long double=12 [2023-11-21 19:56:06,039 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2023-11-21 19:56:06,039 INFO L153 SettingsManager]: * Use constant arrays=true [2023-11-21 19:56:06,047 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2023-11-21 19:56:06,048 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2023-11-21 19:56:06,048 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2023-11-21 19:56:06,048 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2023-11-21 19:56:06,049 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2023-11-21 19:56:06,049 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2023-11-21 19:56:06,049 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2023-11-21 19:56:06,049 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2023-11-21 19:56:06,050 INFO L153 SettingsManager]: * Trace refinement strategy=WOLF [2023-11-21 19:56:06,050 INFO L153 SettingsManager]: * DFS Order used in POR=LOOP_LOCKSTEP [2023-11-21 19:56:06,050 INFO L153 SettingsManager]: * Command for external solver=cvc4 --incremental --print-success --lang smt [2023-11-21 19:56:06,050 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2023-11-21 19:56:06,050 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PARTIAL_ORDER_FA [2023-11-21 19:56:06,050 INFO L153 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2023-11-21 19:56:06,051 INFO L153 SettingsManager]: * CEGAR restart behaviour=ONE_CEGAR_PER_THREAD_INSTANCE [2023-11-21 19:56:06,051 INFO L153 SettingsManager]: * Partial Order Reduction in concurrent analysis=PERSISTENT_SLEEP_NEW_STATES_FIXEDORDER [2023-11-21 19:56:06,051 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2023-11-21 19:56:06,051 INFO L153 SettingsManager]: * Logic for external solver=AUFBV WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/releaseScripts/default/UGemCutter-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 -> GemCutter 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 -> a9295efc0d8bacfc5fb202511f0d3721ae5554ffb4def47cf5dbf45088356869 [2023-11-21 19:56:06,339 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2023-11-21 19:56:06,357 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2023-11-21 19:56:06,361 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2023-11-21 19:56:06,362 INFO L270 PluginConnector]: Initializing CDTParser... [2023-11-21 19:56:06,362 INFO L274 PluginConnector]: CDTParser initialized [2023-11-21 19:56:06,364 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/../../../trunk/examples/svcomp/pthread-ext/04_incdec_cas.i [2023-11-21 19:56:07,497 INFO L533 CDTParser]: Created temporary CDT project at NULL [2023-11-21 19:56:07,699 INFO L384 CDTParser]: Found 1 translation units. [2023-11-21 19:56:07,700 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/pthread-ext/04_incdec_cas.i [2023-11-21 19:56:07,734 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/data/4902c68f1/068ce11cde424d419135a86a289f4c6a/FLAG56cd76045 [2023-11-21 19:56:07,748 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/data/4902c68f1/068ce11cde424d419135a86a289f4c6a [2023-11-21 19:56:07,750 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2023-11-21 19:56:07,752 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2023-11-21 19:56:07,754 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2023-11-21 19:56:07,754 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2023-11-21 19:56:07,758 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2023-11-21 19:56:07,759 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 21.11 07:56:07" (1/1) ... [2023-11-21 19:56:07,759 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@1a04448b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.11 07:56:07, skipping insertion in model container [2023-11-21 19:56:07,760 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 21.11 07:56:07" (1/1) ... [2023-11-21 19:56:07,802 INFO L177 MainTranslator]: Built tables and reachable declarations [2023-11-21 19:56:08,114 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-ext/04_incdec_cas.i[30369,30382] [2023-11-21 19:56:08,130 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-ext/04_incdec_cas.i[30869,30882] [2023-11-21 19:56:08,137 INFO L209 PostProcessor]: Analyzing one entry point: main [2023-11-21 19:56:08,153 INFO L202 MainTranslator]: Completed pre-run [2023-11-21 19:56:08,189 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-ext/04_incdec_cas.i[30369,30382] [2023-11-21 19:56:08,199 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-ext/04_incdec_cas.i[30869,30882] [2023-11-21 19:56:08,206 INFO L209 PostProcessor]: Analyzing one entry point: main [2023-11-21 19:56:08,236 WARN L675 CHandler]: The function __VERIFIER_atomic_begin is called, but not defined or handled by StandardFunctionHandler. [2023-11-21 19:56:08,236 WARN L675 CHandler]: The function __VERIFIER_atomic_end is called, but not defined or handled by StandardFunctionHandler. [2023-11-21 19:56:08,242 INFO L206 MainTranslator]: Completed translation [2023-11-21 19:56:08,243 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.11 07:56:08 WrapperNode [2023-11-21 19:56:08,243 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2023-11-21 19:56:08,244 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2023-11-21 19:56:08,244 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2023-11-21 19:56:08,244 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2023-11-21 19:56:08,250 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.11 07:56:08" (1/1) ... [2023-11-21 19:56:08,278 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.11 07:56:08" (1/1) ... [2023-11-21 19:56:08,301 INFO L138 Inliner]: procedures = 178, calls = 47, calls flagged for inlining = 8, calls inlined = 8, statements flattened = 162 [2023-11-21 19:56:08,301 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2023-11-21 19:56:08,302 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2023-11-21 19:56:08,302 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2023-11-21 19:56:08,302 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2023-11-21 19:56:08,309 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.11 07:56:08" (1/1) ... [2023-11-21 19:56:08,309 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.11 07:56:08" (1/1) ... [2023-11-21 19:56:08,321 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.11 07:56:08" (1/1) ... [2023-11-21 19:56:08,321 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.11 07:56:08" (1/1) ... [2023-11-21 19:56:08,326 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.11 07:56:08" (1/1) ... [2023-11-21 19:56:08,344 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.11 07:56:08" (1/1) ... [2023-11-21 19:56:08,348 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.11 07:56:08" (1/1) ... [2023-11-21 19:56:08,357 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.11 07:56:08" (1/1) ... [2023-11-21 19:56:08,360 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2023-11-21 19:56:08,361 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2023-11-21 19:56:08,361 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2023-11-21 19:56:08,361 INFO L274 PluginConnector]: RCFGBuilder initialized [2023-11-21 19:56:08,361 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.11 07:56:08" (1/1) ... [2023-11-21 19:56:08,371 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2023-11-21 19:56:08,382 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2023-11-21 19:56:08,395 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2023-11-21 19:56:08,414 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2023-11-21 19:56:08,436 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2023-11-21 19:56:08,437 INFO L130 BoogieDeclarations]: Found specification of procedure thr1 [2023-11-21 19:56:08,438 INFO L138 BoogieDeclarations]: Found implementation of procedure thr1 [2023-11-21 19:56:08,438 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2023-11-21 19:56:08,438 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2023-11-21 19:56:08,439 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2023-11-21 19:56:08,439 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2023-11-21 19:56:08,439 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2023-11-21 19:56:08,439 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1 [2023-11-21 19:56:08,439 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE4 [2023-11-21 19:56:08,439 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2023-11-21 19:56:08,439 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2023-11-21 19:56:08,439 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2023-11-21 19:56:08,441 WARN L212 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to OneNontrivialStatement [2023-11-21 19:56:08,538 INFO L240 CfgBuilder]: Building ICFG [2023-11-21 19:56:08,539 INFO L266 CfgBuilder]: Building CFG for each procedure with an implementation [2023-11-21 19:56:08,830 INFO L281 CfgBuilder]: Performing block encoding [2023-11-21 19:56:09,064 INFO L303 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2023-11-21 19:56:09,065 INFO L308 CfgBuilder]: Removed 3 assume(true) statements. [2023-11-21 19:56:09,066 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 21.11 07:56:09 BoogieIcfgContainer [2023-11-21 19:56:09,067 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2023-11-21 19:56:09,068 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2023-11-21 19:56:09,069 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2023-11-21 19:56:09,071 INFO L274 PluginConnector]: TraceAbstraction initialized [2023-11-21 19:56:09,072 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 21.11 07:56:07" (1/3) ... [2023-11-21 19:56:09,072 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@61af3a28 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 21.11 07:56:09, skipping insertion in model container [2023-11-21 19:56:09,073 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.11 07:56:08" (2/3) ... [2023-11-21 19:56:09,073 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@61af3a28 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 21.11 07:56:09, skipping insertion in model container [2023-11-21 19:56:09,074 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 21.11 07:56:09" (3/3) ... [2023-11-21 19:56:09,075 INFO L112 eAbstractionObserver]: Analyzing ICFG 04_incdec_cas.i [2023-11-21 19:56:09,082 WARN L145 ceAbstractionStarter]: Switching off computation of Hoare annotation because input is a concurrent program [2023-11-21 19:56:09,090 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2023-11-21 19:56:09,091 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 2 error locations. [2023-11-21 19:56:09,091 INFO L514 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2023-11-21 19:56:09,149 INFO L144 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2023-11-21 19:56:09,183 INFO L100 denceProviderFactory]: Independence Relation #1: [IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=true, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2023-11-21 19:56:09,184 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 [2023-11-21 19:56:09,184 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2023-11-21 19:56:09,185 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (exit command is (exit), workingDir is null) [2023-11-21 19:56:09,223 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (2)] Waiting until timeout for monitored process [2023-11-21 19:56:09,241 INFO L159 artialOrderCegarLoop]: Running PartialOrderCegarLoop with 1 independence relations. [2023-11-21 19:56:09,250 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == thr1Thread1of1ForFork0 ======== [2023-11-21 19:56:09,255 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=PARTIAL_ORDER_FA, 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;@2fb2d30e, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2023-11-21 19:56:09,255 INFO L358 AbstractCegarLoop]: Starting to check reachability of 2 error locations. [2023-11-21 19:56:09,389 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting thr1Err1ASSERT_VIOLATIONERROR_FUNCTION === [thr1Err1ASSERT_VIOLATIONERROR_FUNCTION, thr1Err0ASSERT_VIOLATIONERROR_FUNCTION] === [2023-11-21 19:56:09,394 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2023-11-21 19:56:09,395 INFO L85 PathProgramCache]: Analyzing trace with hash -1020178203, now seen corresponding path program 1 times [2023-11-21 19:56:09,408 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2023-11-21 19:56:09,408 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1354021488] [2023-11-21 19:56:09,408 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-11-21 19:56:09,409 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2023-11-21 19:56:09,409 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat [2023-11-21 19:56:09,450 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2023-11-21 19:56:09,488 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (3)] Waiting until timeout for monitored process [2023-11-21 19:56:09,560 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-21 19:56:09,563 INFO L262 TraceCheckSpWp]: Trace formula consists of 61 conjuncts, 1 conjunts are in the unsatisfiable core [2023-11-21 19:56:09,567 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2023-11-21 19:56:09,581 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2023-11-21 19:56:09,581 INFO L323 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2023-11-21 19:56:09,582 INFO L136 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2023-11-21 19:56:09,582 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1354021488] [2023-11-21 19:56:09,583 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1354021488] provided 1 perfect and 0 imperfect interpolant sequences [2023-11-21 19:56:09,583 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2023-11-21 19:56:09,583 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2023-11-21 19:56:09,584 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [740853022] [2023-11-21 19:56:09,585 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2023-11-21 19:56:09,588 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2023-11-21 19:56:09,589 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2023-11-21 19:56:09,610 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2023-11-21 19:56:09,611 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2023-11-21 19:56:09,612 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:56:09,613 INFO L495 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2023-11-21 19:56:09,614 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 4.0) internal successors, (8), 2 states have internal predecessors, (8), 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) [2023-11-21 19:56:09,614 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:56:09,827 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:56:09,833 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (3)] Forceful destruction successful, exit code 0 [2023-11-21 19:56:10,030 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2023-11-21 19:56:10,032 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting thr1Err1ASSERT_VIOLATIONERROR_FUNCTION === [thr1Err1ASSERT_VIOLATIONERROR_FUNCTION, thr1Err0ASSERT_VIOLATIONERROR_FUNCTION] === [2023-11-21 19:56:10,032 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2023-11-21 19:56:10,032 INFO L85 PathProgramCache]: Analyzing trace with hash 960673530, now seen corresponding path program 1 times [2023-11-21 19:56:10,033 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2023-11-21 19:56:10,033 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1064388745] [2023-11-21 19:56:10,033 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-11-21 19:56:10,033 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2023-11-21 19:56:10,033 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat [2023-11-21 19:56:10,034 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2023-11-21 19:56:10,064 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (4)] Waiting until timeout for monitored process [2023-11-21 19:56:10,122 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-21 19:56:10,124 INFO L262 TraceCheckSpWp]: Trace formula consists of 74 conjuncts, 7 conjunts are in the unsatisfiable core [2023-11-21 19:56:10,126 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2023-11-21 19:56:10,177 INFO L349 Elim1Store]: treesize reduction 6, result has 40.0 percent of original size [2023-11-21 19:56:10,178 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 13 treesize of output 13 [2023-11-21 19:56:10,231 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 [2023-11-21 19:56:10,314 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2023-11-21 19:56:10,314 INFO L323 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2023-11-21 19:56:10,314 INFO L136 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2023-11-21 19:56:10,315 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1064388745] [2023-11-21 19:56:10,315 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1064388745] provided 1 perfect and 0 imperfect interpolant sequences [2023-11-21 19:56:10,315 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2023-11-21 19:56:10,315 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2023-11-21 19:56:10,315 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [622461019] [2023-11-21 19:56:10,315 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2023-11-21 19:56:10,316 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2023-11-21 19:56:10,323 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2023-11-21 19:56:10,324 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2023-11-21 19:56:10,324 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2023-11-21 19:56:10,325 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:56:10,325 INFO L495 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2023-11-21 19:56:10,325 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 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) [2023-11-21 19:56:10,325 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:56:10,325 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:56:11,717 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:56:11,718 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2023-11-21 19:56:11,726 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (4)] Forceful destruction successful, exit code 0 [2023-11-21 19:56:11,918 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 4 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2023-11-21 19:56:11,919 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting thr1Err0ASSERT_VIOLATIONERROR_FUNCTION === [thr1Err1ASSERT_VIOLATIONERROR_FUNCTION, thr1Err0ASSERT_VIOLATIONERROR_FUNCTION] === [2023-11-21 19:56:11,919 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2023-11-21 19:56:11,919 INFO L85 PathProgramCache]: Analyzing trace with hash -1530439684, now seen corresponding path program 1 times [2023-11-21 19:56:11,920 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2023-11-21 19:56:11,920 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [58004196] [2023-11-21 19:56:11,920 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-11-21 19:56:11,920 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2023-11-21 19:56:11,920 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat [2023-11-21 19:56:11,921 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2023-11-21 19:56:11,960 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (5)] Waiting until timeout for monitored process [2023-11-21 19:56:12,009 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-21 19:56:12,011 INFO L262 TraceCheckSpWp]: Trace formula consists of 74 conjuncts, 15 conjunts are in the unsatisfiable core [2023-11-21 19:56:12,014 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2023-11-21 19:56:12,057 INFO L349 Elim1Store]: treesize reduction 24, result has 33.3 percent of original size [2023-11-21 19:56:12,058 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 21 treesize of output 20 [2023-11-21 19:56:12,107 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 [2023-11-21 19:56:12,152 INFO L349 Elim1Store]: treesize reduction 6, result has 40.0 percent of original size [2023-11-21 19:56:12,153 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 13 treesize of output 13 [2023-11-21 19:56:12,253 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 2 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 42 [2023-11-21 19:56:12,280 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 1 [2023-11-21 19:56:12,298 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 2 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 37 treesize of output 47 [2023-11-21 19:56:12,307 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 48 treesize of output 22 [2023-11-21 19:56:12,310 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 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 14 treesize of output 11 [2023-11-21 19:56:12,320 INFO L349 Elim1Store]: treesize reduction 23, result has 4.2 percent of original size [2023-11-21 19:56:12,321 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 27 treesize of output 19 [2023-11-21 19:56:12,326 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 [2023-11-21 19:56:12,387 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2023-11-21 19:56:12,388 INFO L323 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2023-11-21 19:56:12,388 INFO L136 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2023-11-21 19:56:12,388 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [58004196] [2023-11-21 19:56:12,388 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [58004196] provided 1 perfect and 0 imperfect interpolant sequences [2023-11-21 19:56:12,388 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2023-11-21 19:56:12,388 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2023-11-21 19:56:12,388 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1425523578] [2023-11-21 19:56:12,388 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2023-11-21 19:56:12,389 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2023-11-21 19:56:12,389 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2023-11-21 19:56:12,389 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2023-11-21 19:56:12,389 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2023-11-21 19:56:12,389 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:56:12,389 INFO L495 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2023-11-21 19:56:12,389 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 1.7142857142857142) internal successors, (12), 7 states have internal predecessors, (12), 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) [2023-11-21 19:56:12,389 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:56:12,390 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 4 states. [2023-11-21 19:56:12,390 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:56:12,735 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:56:12,735 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2023-11-21 19:56:12,736 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2023-11-21 19:56:12,741 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (5)] Ended with exit code 0 [2023-11-21 19:56:12,939 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 5 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2023-11-21 19:56:12,939 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting thr1Err0ASSERT_VIOLATIONERROR_FUNCTION === [thr1Err1ASSERT_VIOLATIONERROR_FUNCTION, thr1Err0ASSERT_VIOLATIONERROR_FUNCTION] === [2023-11-21 19:56:12,940 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2023-11-21 19:56:12,940 INFO L85 PathProgramCache]: Analyzing trace with hash -198990446, now seen corresponding path program 2 times [2023-11-21 19:56:12,941 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2023-11-21 19:56:12,941 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1983878026] [2023-11-21 19:56:12,941 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2023-11-21 19:56:12,941 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2023-11-21 19:56:12,941 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat [2023-11-21 19:56:12,942 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2023-11-21 19:56:12,943 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (6)] Waiting until timeout for monitored process [2023-11-21 19:56:13,040 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2023-11-21 19:56:13,040 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2023-11-21 19:56:13,042 INFO L262 TraceCheckSpWp]: Trace formula consists of 79 conjuncts, 18 conjunts are in the unsatisfiable core [2023-11-21 19:56:13,045 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2023-11-21 19:56:13,069 INFO L349 Elim1Store]: treesize reduction 24, result has 33.3 percent of original size [2023-11-21 19:56:13,069 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 21 treesize of output 20 [2023-11-21 19:56:13,102 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 11 [2023-11-21 19:56:13,152 INFO L349 Elim1Store]: treesize reduction 6, result has 40.0 percent of original size [2023-11-21 19:56:13,152 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 13 treesize of output 13 [2023-11-21 19:56:13,260 INFO L349 Elim1Store]: treesize reduction 25, result has 21.9 percent of original size [2023-11-21 19:56:13,260 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 40 treesize of output 26 [2023-11-21 19:56:13,290 INFO L349 Elim1Store]: treesize reduction 21, result has 30.0 percent of original size [2023-11-21 19:56:13,291 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 23 treesize of output 25 [2023-11-21 19:56:13,348 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 [2023-11-21 19:56:13,363 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2023-11-21 19:56:13,363 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2023-11-21 19:56:13,386 WARN L854 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_66 (Array (_ BitVec 32) (_ BitVec 32)))) (bvugt (select (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_66) |c_~#value~0.base|) |c_~#value~0.offset|) |c_thr1Thread1of1ForFork0_inc_~inc__v~0#1|)) is different from false [2023-11-21 19:56:13,445 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse0 (= (select (select |c_#memory_int| |c_~#value~0.base|) |c_~#value~0.offset|) |c_thr1Thread1of1ForFork0_inc_~inc__v~0#1|))) (and (or (not .cse0) (forall ((v_DerPreprocessor_4 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_66 (Array (_ BitVec 32) (_ BitVec 32))) (|~#inc_flag~0.base| (_ BitVec 32)) (|~#inc_flag~0.offset| (_ BitVec 32))) (bvugt (select (select (store (store (let ((.cse1 (store |c_#memory_int| |~#inc_flag~0.base| (store (select |c_#memory_int| |~#inc_flag~0.base|) |~#inc_flag~0.offset| (_ bv1 32))))) (store .cse1 |c_~#value~0.base| (store (select .cse1 |c_~#value~0.base|) |c_~#value~0.offset| |c_thr1Thread1of1ForFork0_inc_~inc__vn~0#1|))) |c_thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_4) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_66) |c_~#value~0.base|) |c_~#value~0.offset|) |c_thr1Thread1of1ForFork0_inc_~inc__v~0#1|))) (or .cse0 (forall ((v_ArrVal_66 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_3 (Array (_ BitVec 32) (_ BitVec 32)))) (bvugt (select (select (store (store |c_#memory_int| |c_thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_3) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_66) |c_~#value~0.base|) |c_~#value~0.offset|) |c_thr1Thread1of1ForFork0_inc_~inc__v~0#1|))))) is different from false [2023-11-21 19:56:13,667 WARN L854 $PredicateComparison]: unable to prove that (forall ((v_DerPreprocessor_4 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_66 (Array (_ BitVec 32) (_ BitVec 32))) (|~#inc_flag~0.base| (_ BitVec 32)) (|~#inc_flag~0.offset| (_ BitVec 32)) (|v_thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base_15| (_ BitVec 32)) (v_ArrVal_60 (Array (_ BitVec 32) (_ BitVec 32)))) (or (let ((.cse1 (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_60))) (let ((.cse2 (select (select .cse1 |c_~#value~0.base|) |c_~#value~0.offset|))) (bvugt (select (select (store (store (let ((.cse0 (store (select .cse1 |~#inc_flag~0.base|) |~#inc_flag~0.offset| (_ bv1 32)))) (store (store |c_#memory_int| |~#inc_flag~0.base| .cse0) |c_~#value~0.base| (store (select (store .cse1 |~#inc_flag~0.base| .cse0) |c_~#value~0.base|) |c_~#value~0.offset| (bvadd (_ bv1 32) .cse2)))) |v_thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base_15| v_DerPreprocessor_4) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_66) |c_~#value~0.base|) |c_~#value~0.offset|) .cse2))) (not (= (_ bv0 1) (select |c_#valid| |v_thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base_15|))))) is different from false [2023-11-21 19:56:13,670 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 1 not checked. [2023-11-21 19:56:13,670 INFO L136 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2023-11-21 19:56:13,670 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1983878026] [2023-11-21 19:56:13,670 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1983878026] provided 0 perfect and 2 imperfect interpolant sequences [2023-11-21 19:56:13,670 INFO L185 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2023-11-21 19:56:13,670 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 7] total 13 [2023-11-21 19:56:13,670 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2083658970] [2023-11-21 19:56:13,670 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2023-11-21 19:56:13,670 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2023-11-21 19:56:13,671 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2023-11-21 19:56:13,671 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2023-11-21 19:56:13,671 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=101, Unknown=4, NotChecked=66, Total=210 [2023-11-21 19:56:13,671 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:56:13,671 INFO L495 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2023-11-21 19:56:13,672 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 14 states have (on average 1.8571428571428572) internal successors, (26), 14 states have internal predecessors, (26), 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) [2023-11-21 19:56:13,672 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:56:13,672 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 4 states. [2023-11-21 19:56:13,672 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 7 states. [2023-11-21 19:56:13,672 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:56:18,213 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, BitVec], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2023-11-21 19:56:20,231 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, BitVec], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2023-11-21 19:56:22,235 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, BitVec], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2023-11-21 19:56:24,240 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, BitVec], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2023-11-21 19:56:26,244 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, BitVec], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2023-11-21 19:56:30,366 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.01s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, BitVec], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2023-11-21 19:56:32,370 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, BitVec], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2023-11-21 19:56:34,375 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, BitVec], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2023-11-21 19:56:36,387 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, BitVec], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2023-11-21 19:56:38,400 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, BitVec], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2023-11-21 19:56:40,451 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.01s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, BitVec], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2023-11-21 19:56:42,456 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.01s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, BitVec], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2023-11-21 19:56:44,488 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, BitVec], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2023-11-21 19:56:46,492 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, BitVec], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2023-11-21 19:56:48,497 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, BitVec], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2023-11-21 19:56:50,500 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, BitVec], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2023-11-21 19:56:52,505 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, BitVec], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2023-11-21 19:56:54,646 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, BitVec], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2023-11-21 19:56:55,109 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:56:55,109 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2023-11-21 19:56:55,109 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2023-11-21 19:56:55,110 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2023-11-21 19:56:55,121 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (6)] Ended with exit code 0 [2023-11-21 19:56:55,310 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 6 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2023-11-21 19:56:55,311 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting thr1Err0ASSERT_VIOLATIONERROR_FUNCTION === [thr1Err1ASSERT_VIOLATIONERROR_FUNCTION, thr1Err0ASSERT_VIOLATIONERROR_FUNCTION] === [2023-11-21 19:56:55,311 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2023-11-21 19:56:55,311 INFO L85 PathProgramCache]: Analyzing trace with hash -1505233376, now seen corresponding path program 1 times [2023-11-21 19:56:55,311 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2023-11-21 19:56:55,311 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1734114046] [2023-11-21 19:56:55,311 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-11-21 19:56:55,312 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2023-11-21 19:56:55,312 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat [2023-11-21 19:56:55,312 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2023-11-21 19:56:55,313 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (7)] Waiting until timeout for monitored process [2023-11-21 19:56:55,390 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-21 19:56:55,392 INFO L262 TraceCheckSpWp]: Trace formula consists of 94 conjuncts, 5 conjunts are in the unsatisfiable core [2023-11-21 19:56:55,393 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2023-11-21 19:56:55,413 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 2 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 27 treesize of output 35 [2023-11-21 19:56:55,424 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 0 case distinctions, treesize of input 41 treesize of output 40 [2023-11-21 19:56:55,455 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 0 case distinctions, treesize of input 34 treesize of output 33 [2023-11-21 19:56:55,476 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 2 stores, 1 select indices, 1 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 45 treesize of output 45 [2023-11-21 19:56:55,488 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 0 case distinctions, treesize of input 74 treesize of output 67 [2023-11-21 19:56:55,558 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 2 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 40 treesize of output 40 [2023-11-21 19:56:55,569 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 0 case distinctions, treesize of input 48 treesize of output 44 [2023-11-21 19:56:55,617 INFO L349 Elim1Store]: treesize reduction 35, result has 23.9 percent of original size [2023-11-21 19:56:55,617 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 1 case distinctions, treesize of input 21 treesize of output 19 [2023-11-21 19:56:55,628 INFO L190 IndexEqualityManager]: detected not equals via solver [2023-11-21 19:56:55,641 INFO L349 Elim1Store]: treesize reduction 23, result has 4.2 percent of original size [2023-11-21 19:56:55,641 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 1 case distinctions, treesize of input 14 treesize of output 1 [2023-11-21 19:56:55,649 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 2 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 27 treesize of output 35 [2023-11-21 19:56:55,660 WARN L214 Elim1Store]: Array PQE input equivalent to false [2023-11-21 19:56:55,667 INFO L190 IndexEqualityManager]: detected not equals via solver [2023-11-21 19:56:55,680 INFO L349 Elim1Store]: treesize reduction 45, result has 2.2 percent of original size [2023-11-21 19:56:55,680 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 1 case distinctions, treesize of input 21 treesize of output 1 [2023-11-21 19:56:55,686 INFO L190 IndexEqualityManager]: detected not equals via solver [2023-11-21 19:56:55,688 INFO L349 Elim1Store]: treesize reduction 23, result has 4.2 percent of original size [2023-11-21 19:56:55,688 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 1 case distinctions, treesize of input 14 treesize of output 1 [2023-11-21 19:56:55,754 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 7 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2023-11-21 19:56:55,754 INFO L323 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2023-11-21 19:56:55,754 INFO L136 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2023-11-21 19:56:55,754 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1734114046] [2023-11-21 19:56:55,755 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1734114046] provided 1 perfect and 0 imperfect interpolant sequences [2023-11-21 19:56:55,755 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2023-11-21 19:56:55,755 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2023-11-21 19:56:55,755 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2101758059] [2023-11-21 19:56:55,755 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2023-11-21 19:56:55,755 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2023-11-21 19:56:55,755 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2023-11-21 19:56:55,755 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2023-11-21 19:56:55,755 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2023-11-21 19:56:55,756 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:56:55,756 INFO L495 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2023-11-21 19:56:55,756 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 5 states have internal predecessors, (19), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2023-11-21 19:56:55,756 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:56:55,756 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 4 states. [2023-11-21 19:56:55,756 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 7 states. [2023-11-21 19:56:55,756 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 12 states. [2023-11-21 19:56:55,756 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:56:56,317 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse1 (select (select |c_#memory_int| |c_~#value~0.base|) |c_~#value~0.offset|))) (let ((.cse5 (= .cse1 |c_thr1Thread1of1ForFork0_inc_~inc__v~0#1|))) (let ((.cse2 (not .cse5))) (and (forall ((v_DerPreprocessor_4 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_66 (Array (_ BitVec 32) (_ BitVec 32))) (|~#inc_flag~0.base| (_ BitVec 32)) (|~#inc_flag~0.offset| (_ BitVec 32))) (bvugt (select (select (store (store (let ((.cse0 (store |c_#memory_int| |~#inc_flag~0.base| (store (select |c_#memory_int| |~#inc_flag~0.base|) |~#inc_flag~0.offset| (_ bv1 32))))) (store .cse0 |c_~#value~0.base| (store (select .cse0 |c_~#value~0.base|) |c_~#value~0.offset| (bvadd .cse1 (_ bv1 32))))) |c_thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_4) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_66) |c_~#value~0.base|) |c_~#value~0.offset|) .cse1)) (or .cse2 (forall ((v_DerPreprocessor_4 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_66 (Array (_ BitVec 32) (_ BitVec 32))) (|~#inc_flag~0.base| (_ BitVec 32)) (|~#inc_flag~0.offset| (_ BitVec 32))) (bvugt (select (select (store (store (let ((.cse3 (store |c_#memory_int| |~#inc_flag~0.base| (store (select |c_#memory_int| |~#inc_flag~0.base|) |~#inc_flag~0.offset| (_ bv1 32))))) (store .cse3 |c_~#value~0.base| (store (select .cse3 |c_~#value~0.base|) |c_~#value~0.offset| |c_thr1Thread1of1ForFork0_inc_~inc__vn~0#1|))) |c_thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_4) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_66) |c_~#value~0.base|) |c_~#value~0.offset|) |c_thr1Thread1of1ForFork0_inc_~inc__v~0#1|))) (or .cse2 (forall ((v_DerPreprocessor_4 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_66 (Array (_ BitVec 32) (_ BitVec 32))) (|~#inc_flag~0.base| (_ BitVec 32)) (|~#inc_flag~0.offset| (_ BitVec 32))) (bvugt (select (select (store (store (let ((.cse4 (store |c_#memory_int| |~#inc_flag~0.base| (store (select |c_#memory_int| |~#inc_flag~0.base|) |~#inc_flag~0.offset| (_ bv1 32))))) (store .cse4 |c_~#value~0.base| (store (select .cse4 |c_~#value~0.base|) |c_~#value~0.offset| (bvadd |c_thr1Thread1of1ForFork0_inc_~inc__v~0#1| (_ bv1 32))))) |c_thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_4) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_66) |c_~#value~0.base|) |c_~#value~0.offset|) |c_thr1Thread1of1ForFork0_inc_~inc__v~0#1|))) (or .cse5 (forall ((v_ArrVal_66 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_3 (Array (_ BitVec 32) (_ BitVec 32)))) (bvugt (select (select (store (store |c_#memory_int| |c_thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_3) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_66) |c_~#value~0.base|) |c_~#value~0.offset|) |c_thr1Thread1of1ForFork0_inc_~inc__v~0#1|))))))) is different from false [2023-11-21 19:56:56,330 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:56:56,330 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2023-11-21 19:56:56,330 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2023-11-21 19:56:56,330 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2023-11-21 19:56:56,330 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2023-11-21 19:56:56,337 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (7)] Forceful destruction successful, exit code 0 [2023-11-21 19:56:56,531 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 7 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2023-11-21 19:56:56,531 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting thr1Err0ASSERT_VIOLATIONERROR_FUNCTION === [thr1Err1ASSERT_VIOLATIONERROR_FUNCTION, thr1Err0ASSERT_VIOLATIONERROR_FUNCTION] === [2023-11-21 19:56:56,531 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2023-11-21 19:56:56,532 INFO L85 PathProgramCache]: Analyzing trace with hash -341853416, now seen corresponding path program 2 times [2023-11-21 19:56:56,532 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2023-11-21 19:56:56,532 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [958727232] [2023-11-21 19:56:56,532 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2023-11-21 19:56:56,532 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2023-11-21 19:56:56,532 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat [2023-11-21 19:56:56,533 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2023-11-21 19:56:56,534 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (8)] Waiting until timeout for monitored process [2023-11-21 19:56:56,628 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2023-11-21 19:56:56,628 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2023-11-21 19:56:56,630 INFO L262 TraceCheckSpWp]: Trace formula consists of 94 conjuncts, 26 conjunts are in the unsatisfiable core [2023-11-21 19:56:56,633 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2023-11-21 19:56:56,650 INFO L349 Elim1Store]: treesize reduction 6, result has 40.0 percent of original size [2023-11-21 19:56:56,650 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 13 treesize of output 13 [2023-11-21 19:56:56,680 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 [2023-11-21 19:56:56,887 INFO L349 Elim1Store]: treesize reduction 25, result has 21.9 percent of original size [2023-11-21 19:56:56,887 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 40 treesize of output 26 [2023-11-21 19:56:56,939 INFO L349 Elim1Store]: treesize reduction 24, result has 52.9 percent of original size [2023-11-21 19:56:56,939 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 3 case distinctions, treesize of input 23 treesize of output 37 [2023-11-21 19:56:57,001 INFO L349 Elim1Store]: treesize reduction 7, result has 12.5 percent of original size [2023-11-21 19:56:57,002 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 7 [2023-11-21 19:56:57,036 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 5 treesize of output 3 [2023-11-21 19:56:57,120 INFO L349 Elim1Store]: treesize reduction 21, result has 30.0 percent of original size [2023-11-21 19:56:57,120 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 44 treesize of output 44 [2023-11-21 19:56:57,168 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 5 treesize of output 3 [2023-11-21 19:56:57,178 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 5 treesize of output 3 [2023-11-21 19:56:57,764 INFO L349 Elim1Store]: treesize reduction 47, result has 45.3 percent of original size [2023-11-21 19:56:57,764 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 4 new quantified variables, introduced 6 case distinctions, treesize of input 55 treesize of output 73 [2023-11-21 19:56:57,819 INFO L349 Elim1Store]: treesize reduction 12, result has 60.0 percent of original size [2023-11-21 19:56:57,820 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 40 treesize of output 43 [2023-11-21 19:56:57,844 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 7 treesize of output 5 [2023-11-21 19:56:57,879 INFO L349 Elim1Store]: treesize reduction 36, result has 2.7 percent of original size [2023-11-21 19:56:57,879 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 2 stores, 3 select indices, 3 select index equivalence classes, 2 disjoint index pairs (out of 3 index pairs), introduced 4 new quantified variables, introduced 3 case distinctions, treesize of input 57 treesize of output 1 [2023-11-21 19:56:57,901 INFO L349 Elim1Store]: treesize reduction 58, result has 1.7 percent of original size [2023-11-21 19:56:57,902 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 2 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 4 case distinctions, treesize of input 52 treesize of output 1 [2023-11-21 19:56:58,158 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2023-11-21 19:56:58,159 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2023-11-21 19:56:58,461 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse0 (= (select (select |c_#memory_int| |c_~#value~0.base|) |c_~#value~0.offset|) |c_thr1Thread1of1ForFork0_inc_~inc__v~0#1|))) (and (or (not .cse0) (let ((.cse2 (= |c_~#inc_flag~0.base| |c_thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base|)) (.cse3 (= |c_~#inc_flag~0.base| |c_~#value~0.base|)) (.cse1 (select |c_#memory_int| |c_~#inc_flag~0.base|))) (and (or (forall ((v_ArrVal_128 (_ BitVec 32)) (v_DerPreprocessor_18 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_17 (Array (_ BitVec 32) (_ BitVec 32)))) (or (bvugt (select (select (store (store (store |c_#memory_int| |c_~#inc_flag~0.base| v_DerPreprocessor_17) |c_~#value~0.base| (store (select (store |c_#memory_int| |c_~#inc_flag~0.base| (store .cse1 |c_~#inc_flag~0.offset| v_ArrVal_128)) |c_~#value~0.base|) |c_~#value~0.offset| |c_thr1Thread1of1ForFork0_inc_~inc__vn~0#1|)) |c_thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_18) |c_~#value~0.base|) |c_~#value~0.offset|) |c_thr1Thread1of1ForFork0_inc_~inc__v~0#1|) (= (select v_DerPreprocessor_18 |c_thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv0 32)))) .cse2 .cse3) (or (not .cse2) (forall ((v_DerPreprocessor_16 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_128 (_ BitVec 32))) (or (= (select v_DerPreprocessor_16 |c_thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv0 32)) (bvugt (select (select (store (store |c_#memory_int| |c_~#value~0.base| (store (select (store |c_#memory_int| |c_~#inc_flag~0.base| (store .cse1 |c_~#inc_flag~0.offset| v_ArrVal_128)) |c_~#value~0.base|) |c_~#value~0.offset| |c_thr1Thread1of1ForFork0_inc_~inc__vn~0#1|)) |c_thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_16) |c_~#value~0.base|) |c_~#value~0.offset|) |c_thr1Thread1of1ForFork0_inc_~inc__v~0#1|)))) (or (not .cse3) (forall ((v_ArrVal_128 (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32)))) (or (= (select v_DerPreprocessor_19 |c_thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv0 32)) (bvugt (select (select (store (store |c_#memory_int| |c_~#value~0.base| (store (select (store |c_#memory_int| |c_~#inc_flag~0.base| (store .cse1 |c_~#inc_flag~0.offset| v_ArrVal_128)) |c_~#value~0.base|) |c_~#value~0.offset| |c_thr1Thread1of1ForFork0_inc_~inc__vn~0#1|)) |c_thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_19) |c_~#value~0.base|) |c_~#value~0.offset|) |c_thr1Thread1of1ForFork0_inc_~inc__v~0#1|))))))) (or .cse0 (forall ((v_DerPreprocessor_20 (Array (_ BitVec 32) (_ BitVec 32)))) (or (bvugt (select (select (store |c_#memory_int| |c_thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_20) |c_~#value~0.base|) |c_~#value~0.offset|) |c_thr1Thread1of1ForFork0_inc_~inc__v~0#1|) (= (select v_DerPreprocessor_20 |c_thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv0 32))))))) is different from false [2023-11-21 19:57:01,476 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse19 (select |c_#memory_int| |c_~#value~0.base|))) (let ((.cse7 (= (select .cse19 |c_~#value~0.offset|) |c_thr1Thread1of1ForFork0_inc_~inc__v~0#1|))) (let ((.cse0 (not .cse7))) (and (or .cse0 (forall ((v_DerPreprocessor_23 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_125 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_16 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_128 (_ BitVec 32)) (|thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| (_ BitVec 32)) (|~#inc_flag~0.offset| (_ BitVec 32))) (let ((.cse2 (store |c_#memory_int| |c_~#value~0.base| (store (select (store |c_#memory_int| |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| (store (select |c_#memory_int| |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base|) |~#inc_flag~0.offset| (_ bv1 32))) |c_~#value~0.base|) |c_~#value~0.offset| |c_thr1Thread1of1ForFork0_inc_~inc__vn~0#1|)))) (let ((.cse4 (store (store .cse2 |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_23) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_125))) (let ((.cse1 (select .cse4 |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base|))) (or (not (= (_ bv0 32) (select .cse1 |c_thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.offset|))) (= (select v_DerPreprocessor_16 |c_thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv0 32)) (let ((.cse3 (select (select .cse4 |c_~#value~0.base|) |c_~#value~0.offset|))) (bvugt (select (select (store (store (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_125) |c_~#value~0.base| (store (select (store (store .cse2 |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_125) |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| (store .cse1 |~#inc_flag~0.offset| v_ArrVal_128)) |c_~#value~0.base|) |c_~#value~0.offset| (bvadd (_ bv1 32) .cse3))) |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_16) |c_~#value~0.base|) |c_~#value~0.offset|) .cse3)))))))) (or (forall ((v_ArrVal_125 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_18 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_128 (_ BitVec 32)) (v_DerPreprocessor_17 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| (_ BitVec 32)) (|~#inc_flag~0.base| (_ BitVec 32)) (|~#inc_flag~0.offset| (_ BitVec 32)) (v_DerPreprocessor_21 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse5 (store (store |c_#memory_int| |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_21) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_125))) (or (let ((.cse6 (select (select .cse5 |c_~#value~0.base|) |c_~#value~0.offset|))) (bvugt (select (select (store (store (store (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_125) |~#inc_flag~0.base| v_DerPreprocessor_17) |c_~#value~0.base| (store (select (store .cse5 |~#inc_flag~0.base| (store (select .cse5 |~#inc_flag~0.base|) |~#inc_flag~0.offset| v_ArrVal_128)) |c_~#value~0.base|) |c_~#value~0.offset| (bvadd .cse6 (_ bv1 32)))) |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_18) |c_~#value~0.base|) |c_~#value~0.offset|) .cse6)) (= (select v_DerPreprocessor_18 |c_thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv0 32)) (= |~#inc_flag~0.base| |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base|) (= |~#inc_flag~0.base| |c_~#value~0.base|) (not (= (_ bv0 32) (select (select .cse5 |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base|) |c_thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.offset|)))))) .cse7) (or .cse7 (forall ((v_ArrVal_125 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_24 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_16 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_128 (_ BitVec 32)) (|thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| (_ BitVec 32)) (|~#inc_flag~0.offset| (_ BitVec 32))) (let ((.cse11 (store (store |c_#memory_int| |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_24) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_125))) (let ((.cse9 (select .cse11 |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base|))) (or (let ((.cse10 (select (select .cse11 |c_~#value~0.base|) |c_~#value~0.offset|))) (bvugt (select (select (store (let ((.cse8 (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_125))) (store .cse8 |c_~#value~0.base| (store (select (store .cse8 |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| (store .cse9 |~#inc_flag~0.offset| v_ArrVal_128)) |c_~#value~0.base|) |c_~#value~0.offset| (bvadd .cse10 (_ bv1 32))))) |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_16) |c_~#value~0.base|) |c_~#value~0.offset|) .cse10)) (not (= (select .cse9 |c_thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv0 32))) (= (select v_DerPreprocessor_16 |c_thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv0 32))))))) (or (forall ((v_DerPreprocessor_22 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_125 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_18 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_128 (_ BitVec 32)) (v_DerPreprocessor_17 (Array (_ BitVec 32) (_ BitVec 32))) (|~#inc_flag~0.base| (_ BitVec 32)) (|~#inc_flag~0.offset| (_ BitVec 32)) (|thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| (_ BitVec 32))) (let ((.cse15 (store |c_#memory_int| |~#inc_flag~0.base| (store (select |c_#memory_int| |~#inc_flag~0.base|) |~#inc_flag~0.offset| (_ bv1 32))))) (let ((.cse12 (store (select .cse15 |c_~#value~0.base|) |c_~#value~0.offset| |c_thr1Thread1of1ForFork0_inc_~inc__vn~0#1|))) (let ((.cse13 (store (store (store .cse15 |c_~#value~0.base| .cse12) |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_22) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_125))) (or (let ((.cse14 (select (select .cse13 |c_~#value~0.base|) |c_~#value~0.offset|))) (bvugt (select (select (store (store (store (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_125) |~#inc_flag~0.base| v_DerPreprocessor_17) |c_~#value~0.base| (store (select (store (store (store (store |c_#memory_int| |c_~#value~0.base| .cse12) |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_22) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_125) |~#inc_flag~0.base| (store (select .cse13 |~#inc_flag~0.base|) |~#inc_flag~0.offset| v_ArrVal_128)) |c_~#value~0.base|) |c_~#value~0.offset| (bvadd .cse14 (_ bv1 32)))) |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_18) |c_~#value~0.base|) |c_~#value~0.offset|) .cse14)) (= (select v_DerPreprocessor_18 |c_thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv0 32)) (= |~#inc_flag~0.base| |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base|) (= |~#inc_flag~0.base| |c_~#value~0.base|) (not (= (select (select .cse13 |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base|) |c_thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv0 32)))))))) .cse0) (or .cse0 (forall ((v_DerPreprocessor_25 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_125 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_128 (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32))) (|~#inc_flag~0.offset| (_ BitVec 32)) (|thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| (_ BitVec 32))) (let ((.cse16 (store (store (store |c_#memory_int| |c_~#value~0.base| (store (store .cse19 |~#inc_flag~0.offset| (_ bv1 32)) |c_~#value~0.offset| |c_thr1Thread1of1ForFork0_inc_~inc__vn~0#1|)) |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_25) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_125))) (or (= (select v_DerPreprocessor_19 |c_thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv0 32)) (not (= (select (select .cse16 |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base|) |c_thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv0 32))) (let ((.cse17 (select .cse16 |c_~#value~0.base|))) (let ((.cse18 (select .cse17 |c_~#value~0.offset|))) (bvugt (select (select (store (store (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_125) |c_~#value~0.base| (store (store .cse17 |~#inc_flag~0.offset| v_ArrVal_128) |c_~#value~0.offset| (bvadd (_ bv1 32) .cse18))) |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_19) |c_~#value~0.base|) |c_~#value~0.offset|) .cse18))))))) (or (forall ((v_ArrVal_125 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_26 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_128 (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| (_ BitVec 32)) (|~#inc_flag~0.offset| (_ BitVec 32))) (let ((.cse20 (store (store |c_#memory_int| |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_26) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_125))) (or (= (select v_DerPreprocessor_19 |c_thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv0 32)) (not (= (select (select .cse20 |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base|) |c_thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv0 32))) (let ((.cse21 (select .cse20 |c_~#value~0.base|))) (let ((.cse22 (select .cse21 |c_~#value~0.offset|))) (bvugt (select (select (store (store (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_125) |c_~#value~0.base| (store (store .cse21 |~#inc_flag~0.offset| v_ArrVal_128) |c_~#value~0.offset| (bvadd .cse22 (_ bv1 32)))) |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_19) |c_~#value~0.base|) |c_~#value~0.offset|) .cse22)))))) .cse7))))) is different from false [2023-11-21 19:57:01,799 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse12 (select |c_#memory_int| |c_~#value~0.base|))) (let ((.cse8 (= (select .cse12 |c_~#value~0.offset|) |c_thr1Thread1of1ForFork0_inc_~inc__v~0#1|))) (let ((.cse0 (not .cse8)) (.cse5 (bvadd |c_thr1Thread1of1ForFork0_inc_~inc__v~0#1| (_ bv1 32)))) (and (or .cse0 (forall ((v_DerPreprocessor_22 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_125 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_18 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_128 (_ BitVec 32)) (v_DerPreprocessor_17 (Array (_ BitVec 32) (_ BitVec 32))) (|~#inc_flag~0.base| (_ BitVec 32)) (|~#inc_flag~0.offset| (_ BitVec 32)) (|thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| (_ BitVec 32))) (let ((.cse4 (store |c_#memory_int| |~#inc_flag~0.base| (store (select |c_#memory_int| |~#inc_flag~0.base|) |~#inc_flag~0.offset| (_ bv1 32))))) (let ((.cse2 (store (select .cse4 |c_~#value~0.base|) |c_~#value~0.offset| .cse5))) (let ((.cse1 (store (store (store .cse4 |c_~#value~0.base| .cse2) |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_22) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_125))) (or (not (= (select (select .cse1 |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base|) |c_thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv0 32))) (let ((.cse3 (select (select .cse1 |c_~#value~0.base|) |c_~#value~0.offset|))) (bvugt (select (select (store (store (store (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_125) |~#inc_flag~0.base| v_DerPreprocessor_17) |c_~#value~0.base| (store (select (store (store (store (store |c_#memory_int| |c_~#value~0.base| .cse2) |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_22) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_125) |~#inc_flag~0.base| (store (select .cse1 |~#inc_flag~0.base|) |~#inc_flag~0.offset| v_ArrVal_128)) |c_~#value~0.base|) |c_~#value~0.offset| (bvadd .cse3 (_ bv1 32)))) |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_18) |c_~#value~0.base|) |c_~#value~0.offset|) .cse3)) (= (select v_DerPreprocessor_18 |c_thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv0 32)) (= |~#inc_flag~0.base| |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base|) (= |~#inc_flag~0.base| |c_~#value~0.base|))))))) (or (forall ((v_ArrVal_125 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_18 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_128 (_ BitVec 32)) (v_DerPreprocessor_17 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| (_ BitVec 32)) (|~#inc_flag~0.base| (_ BitVec 32)) (|~#inc_flag~0.offset| (_ BitVec 32)) (v_DerPreprocessor_21 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse6 (store (store |c_#memory_int| |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_21) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_125))) (or (let ((.cse7 (select (select .cse6 |c_~#value~0.base|) |c_~#value~0.offset|))) (bvugt (select (select (store (store (store (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_125) |~#inc_flag~0.base| v_DerPreprocessor_17) |c_~#value~0.base| (store (select (store .cse6 |~#inc_flag~0.base| (store (select .cse6 |~#inc_flag~0.base|) |~#inc_flag~0.offset| v_ArrVal_128)) |c_~#value~0.base|) |c_~#value~0.offset| (bvadd .cse7 (_ bv1 32)))) |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_18) |c_~#value~0.base|) |c_~#value~0.offset|) .cse7)) (= (select v_DerPreprocessor_18 |c_thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv0 32)) (= |~#inc_flag~0.base| |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base|) (= |~#inc_flag~0.base| |c_~#value~0.base|) (not (= (_ bv0 32) (select (select .cse6 |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base|) |c_thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.offset|)))))) .cse8) (or .cse0 (forall ((v_DerPreprocessor_25 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_125 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_128 (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32))) (|~#inc_flag~0.offset| (_ BitVec 32)) (|thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| (_ BitVec 32))) (let ((.cse11 (store (store (store |c_#memory_int| |c_~#value~0.base| (store (store .cse12 |~#inc_flag~0.offset| (_ bv1 32)) |c_~#value~0.offset| .cse5)) |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_25) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_125))) (or (= (select v_DerPreprocessor_19 |c_thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv0 32)) (let ((.cse9 (select .cse11 |c_~#value~0.base|))) (let ((.cse10 (select .cse9 |c_~#value~0.offset|))) (bvugt (select (select (store (store (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_125) |c_~#value~0.base| (store (store .cse9 |~#inc_flag~0.offset| v_ArrVal_128) |c_~#value~0.offset| (bvadd (_ bv1 32) .cse10))) |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_19) |c_~#value~0.base|) |c_~#value~0.offset|) .cse10))) (not (= (select (select .cse11 |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base|) |c_thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv0 32))))))) (or .cse0 (forall ((v_DerPreprocessor_23 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_125 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_16 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_128 (_ BitVec 32)) (|thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| (_ BitVec 32)) (|~#inc_flag~0.offset| (_ BitVec 32))) (let ((.cse13 (store |c_#memory_int| |c_~#value~0.base| (store (select (store |c_#memory_int| |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| (store (select |c_#memory_int| |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base|) |~#inc_flag~0.offset| (_ bv1 32))) |c_~#value~0.base|) |c_~#value~0.offset| .cse5)))) (let ((.cse16 (store (store .cse13 |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_23) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_125))) (let ((.cse14 (select .cse16 |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base|))) (or (let ((.cse15 (select (select .cse16 |c_~#value~0.base|) |c_~#value~0.offset|))) (bvugt (select (select (store (store (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_125) |c_~#value~0.base| (store (select (store (store .cse13 |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_125) |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| (store .cse14 |~#inc_flag~0.offset| v_ArrVal_128)) |c_~#value~0.base|) |c_~#value~0.offset| (bvadd .cse15 (_ bv1 32)))) |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_16) |c_~#value~0.base|) |c_~#value~0.offset|) .cse15)) (= (select v_DerPreprocessor_16 |c_thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv0 32)) (not (= (select .cse14 |c_thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv0 32))))))))) (or .cse8 (forall ((v_ArrVal_125 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_24 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_16 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_128 (_ BitVec 32)) (|thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| (_ BitVec 32)) (|~#inc_flag~0.offset| (_ BitVec 32))) (let ((.cse20 (store (store |c_#memory_int| |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_24) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_125))) (let ((.cse18 (select .cse20 |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base|))) (or (let ((.cse19 (select (select .cse20 |c_~#value~0.base|) |c_~#value~0.offset|))) (bvugt (select (select (store (let ((.cse17 (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_125))) (store .cse17 |c_~#value~0.base| (store (select (store .cse17 |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| (store .cse18 |~#inc_flag~0.offset| v_ArrVal_128)) |c_~#value~0.base|) |c_~#value~0.offset| (bvadd .cse19 (_ bv1 32))))) |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_16) |c_~#value~0.base|) |c_~#value~0.offset|) .cse19)) (not (= (select .cse18 |c_thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv0 32))) (= (select v_DerPreprocessor_16 |c_thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv0 32))))))) (or (forall ((v_ArrVal_125 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_26 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_128 (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| (_ BitVec 32)) (|~#inc_flag~0.offset| (_ BitVec 32))) (let ((.cse21 (store (store |c_#memory_int| |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_26) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_125))) (or (= (select v_DerPreprocessor_19 |c_thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv0 32)) (not (= (select (select .cse21 |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base|) |c_thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv0 32))) (let ((.cse22 (select .cse21 |c_~#value~0.base|))) (let ((.cse23 (select .cse22 |c_~#value~0.offset|))) (bvugt (select (select (store (store (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_125) |c_~#value~0.base| (store (store .cse22 |~#inc_flag~0.offset| v_ArrVal_128) |c_~#value~0.offset| (bvadd .cse23 (_ bv1 32)))) |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_19) |c_~#value~0.base|) |c_~#value~0.offset|) .cse23)))))) .cse8))))) is different from false [2023-11-21 19:57:01,943 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse3 (select |c_#memory_int| |c_~#value~0.base|))) (let ((.cse4 (bvadd (select .cse3 |c_~#value~0.offset|) (_ bv1 32)))) (and (forall ((v_DerPreprocessor_25 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_125 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_128 (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32))) (|~#inc_flag~0.offset| (_ BitVec 32)) (|thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| (_ BitVec 32))) (let ((.cse0 (store (store (store |c_#memory_int| |c_~#value~0.base| (store (store .cse3 |~#inc_flag~0.offset| (_ bv1 32)) |c_~#value~0.offset| .cse4)) |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_25) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_125))) (or (not (= (_ bv0 32) (select (select .cse0 |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base|) |c_thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.offset|))) (= (select v_DerPreprocessor_19 |c_thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv0 32)) (let ((.cse1 (select .cse0 |c_~#value~0.base|))) (let ((.cse2 (select .cse1 |c_~#value~0.offset|))) (bvugt (select (select (store (store (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_125) |c_~#value~0.base| (store (store .cse1 |~#inc_flag~0.offset| v_ArrVal_128) |c_~#value~0.offset| (bvadd (_ bv1 32) .cse2))) |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_19) |c_~#value~0.base|) |c_~#value~0.offset|) .cse2)))))) (forall ((v_DerPreprocessor_23 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_125 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_16 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_128 (_ BitVec 32)) (|thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| (_ BitVec 32)) (|~#inc_flag~0.offset| (_ BitVec 32))) (let ((.cse5 (store |c_#memory_int| |c_~#value~0.base| (store (select (store |c_#memory_int| |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| (store (select |c_#memory_int| |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base|) |~#inc_flag~0.offset| (_ bv1 32))) |c_~#value~0.base|) |c_~#value~0.offset| .cse4)))) (let ((.cse8 (store (store .cse5 |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_23) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_125))) (let ((.cse6 (select .cse8 |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base|))) (or (let ((.cse7 (select (select .cse8 |c_~#value~0.base|) |c_~#value~0.offset|))) (bvugt (select (select (store (store (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_125) |c_~#value~0.base| (store (select (store (store .cse5 |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_125) |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| (store .cse6 |~#inc_flag~0.offset| v_ArrVal_128)) |c_~#value~0.base|) |c_~#value~0.offset| (bvadd .cse7 (_ bv1 32)))) |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_16) |c_~#value~0.base|) |c_~#value~0.offset|) .cse7)) (= (select v_DerPreprocessor_16 |c_thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv0 32)) (not (= (select .cse6 |c_thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv0 32)))))))) (forall ((v_DerPreprocessor_22 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_125 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_18 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_128 (_ BitVec 32)) (v_DerPreprocessor_17 (Array (_ BitVec 32) (_ BitVec 32))) (|~#inc_flag~0.base| (_ BitVec 32)) (|~#inc_flag~0.offset| (_ BitVec 32)) (|thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| (_ BitVec 32))) (let ((.cse12 (store |c_#memory_int| |~#inc_flag~0.base| (store (select |c_#memory_int| |~#inc_flag~0.base|) |~#inc_flag~0.offset| (_ bv1 32))))) (let ((.cse10 (store (select .cse12 |c_~#value~0.base|) |c_~#value~0.offset| .cse4))) (let ((.cse9 (store (store (store .cse12 |c_~#value~0.base| .cse10) |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_22) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_125))) (or (not (= (select (select .cse9 |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base|) |c_thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv0 32))) (= (select v_DerPreprocessor_18 |c_thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv0 32)) (let ((.cse11 (select (select .cse9 |c_~#value~0.base|) |c_~#value~0.offset|))) (bvugt (select (select (store (store (store (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_125) |~#inc_flag~0.base| v_DerPreprocessor_17) |c_~#value~0.base| (store (select (store (store (store (store |c_#memory_int| |c_~#value~0.base| .cse10) |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_22) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_125) |~#inc_flag~0.base| (store (select .cse9 |~#inc_flag~0.base|) |~#inc_flag~0.offset| v_ArrVal_128)) |c_~#value~0.base|) |c_~#value~0.offset| (bvadd .cse11 (_ bv1 32)))) |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_18) |c_~#value~0.base|) |c_~#value~0.offset|) .cse11)) (= |~#inc_flag~0.base| |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base|) (= |~#inc_flag~0.base| |c_~#value~0.base|))))))))) is different from false [2023-11-21 19:57:02,211 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse3 (select |c_#memory_int| |c_~#value~0.base|))) (let ((.cse4 (bvadd (select .cse3 |c_~#value~0.offset|) (_ bv1 32)))) (and (forall ((v_DerPreprocessor_25 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_125 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_128 (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32))) (|~#inc_flag~0.offset| (_ BitVec 32)) (|thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| (_ BitVec 32))) (let ((.cse2 (store (store (store |c_#memory_int| |c_~#value~0.base| (store (store .cse3 |~#inc_flag~0.offset| (_ bv1 32)) |c_~#value~0.offset| .cse4)) |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_25) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_125))) (or (= (select v_DerPreprocessor_19 (_ bv0 32)) (_ bv0 32)) (let ((.cse0 (select .cse2 |c_~#value~0.base|))) (let ((.cse1 (select .cse0 |c_~#value~0.offset|))) (bvugt (select (select (store (store (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_125) |c_~#value~0.base| (store (store .cse0 |~#inc_flag~0.offset| v_ArrVal_128) |c_~#value~0.offset| (bvadd (_ bv1 32) .cse1))) |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_19) |c_~#value~0.base|) |c_~#value~0.offset|) .cse1))) (not (= (select (select .cse2 |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base|) (_ bv0 32)) (_ bv0 32)))))) (forall ((v_DerPreprocessor_22 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_125 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_18 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_128 (_ BitVec 32)) (v_DerPreprocessor_17 (Array (_ BitVec 32) (_ BitVec 32))) (|~#inc_flag~0.base| (_ BitVec 32)) (|~#inc_flag~0.offset| (_ BitVec 32)) (|thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| (_ BitVec 32))) (let ((.cse8 (store |c_#memory_int| |~#inc_flag~0.base| (store (select |c_#memory_int| |~#inc_flag~0.base|) |~#inc_flag~0.offset| (_ bv1 32))))) (let ((.cse6 (store (select .cse8 |c_~#value~0.base|) |c_~#value~0.offset| .cse4))) (let ((.cse5 (store (store (store .cse8 |c_~#value~0.base| .cse6) |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_22) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_125))) (or (not (= (select (select .cse5 |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base|) (_ bv0 32)) (_ bv0 32))) (= (select v_DerPreprocessor_18 (_ bv0 32)) (_ bv0 32)) (let ((.cse7 (select (select .cse5 |c_~#value~0.base|) |c_~#value~0.offset|))) (bvugt (select (select (store (store (store (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_125) |~#inc_flag~0.base| v_DerPreprocessor_17) |c_~#value~0.base| (store (select (store (store (store (store |c_#memory_int| |c_~#value~0.base| .cse6) |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_22) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_125) |~#inc_flag~0.base| (store (select .cse5 |~#inc_flag~0.base|) |~#inc_flag~0.offset| v_ArrVal_128)) |c_~#value~0.base|) |c_~#value~0.offset| (bvadd .cse7 (_ bv1 32)))) |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_18) |c_~#value~0.base|) |c_~#value~0.offset|) .cse7)) (= |~#inc_flag~0.base| |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base|) (= |~#inc_flag~0.base| |c_~#value~0.base|)))))) (forall ((v_DerPreprocessor_23 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_125 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_16 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_128 (_ BitVec 32)) (|thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| (_ BitVec 32)) (|~#inc_flag~0.offset| (_ BitVec 32))) (let ((.cse9 (store |c_#memory_int| |c_~#value~0.base| (store (select (store |c_#memory_int| |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| (store (select |c_#memory_int| |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base|) |~#inc_flag~0.offset| (_ bv1 32))) |c_~#value~0.base|) |c_~#value~0.offset| .cse4)))) (let ((.cse12 (store (store .cse9 |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_23) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_125))) (let ((.cse10 (select .cse12 |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base|))) (or (let ((.cse11 (select (select .cse12 |c_~#value~0.base|) |c_~#value~0.offset|))) (bvugt (select (select (store (store (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_125) |c_~#value~0.base| (store (select (store (store .cse9 |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_125) |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| (store .cse10 |~#inc_flag~0.offset| v_ArrVal_128)) |c_~#value~0.base|) |c_~#value~0.offset| (bvadd .cse11 (_ bv1 32)))) |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_16) |c_~#value~0.base|) |c_~#value~0.offset|) .cse11)) (not (= (select .cse10 (_ bv0 32)) (_ bv0 32))) (= (select v_DerPreprocessor_16 (_ bv0 32)) (_ bv0 32)))))))))) is different from false [2023-11-21 19:57:02,532 WARN L854 $PredicateComparison]: unable to prove that (and (forall ((v_DerPreprocessor_23 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_125 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_16 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_128 (_ BitVec 32)) (|thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| (_ BitVec 32)) (|~#inc_flag~0.offset| (_ BitVec 32)) (v_ArrVal_119 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse0 (store |c_#memory_int| |c_~#value~0.base| (let ((.cse4 (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_119))) (store (select (store .cse4 |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| (store (select .cse4 |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base|) |~#inc_flag~0.offset| (_ bv1 32))) |c_~#value~0.base|) |c_~#value~0.offset| (bvadd (select (select .cse4 |c_~#value~0.base|) |c_~#value~0.offset|) (_ bv1 32))))))) (let ((.cse3 (store (store .cse0 |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_23) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_125))) (let ((.cse1 (select .cse3 |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base|))) (or (let ((.cse2 (select (select .cse3 |c_~#value~0.base|) |c_~#value~0.offset|))) (bvugt (select (select (store (store (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_125) |c_~#value~0.base| (store (select (store (store .cse0 |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_125) |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| (store .cse1 |~#inc_flag~0.offset| v_ArrVal_128)) |c_~#value~0.base|) |c_~#value~0.offset| (bvadd .cse2 (_ bv1 32)))) |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_16) |c_~#value~0.base|) |c_~#value~0.offset|) .cse2)) (not (= (select .cse1 (_ bv0 32)) (_ bv0 32))) (= (select v_DerPreprocessor_16 (_ bv0 32)) (_ bv0 32))))))) (forall ((v_DerPreprocessor_22 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_125 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_18 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_128 (_ BitVec 32)) (v_DerPreprocessor_17 (Array (_ BitVec 32) (_ BitVec 32))) (|~#inc_flag~0.base| (_ BitVec 32)) (|~#inc_flag~0.offset| (_ BitVec 32)) (|thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| (_ BitVec 32)) (v_ArrVal_119 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse9 (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_119))) (let ((.cse8 (store (select .cse9 |~#inc_flag~0.base|) |~#inc_flag~0.offset| (_ bv1 32)))) (let ((.cse5 (store (select (store .cse9 |~#inc_flag~0.base| .cse8) |c_~#value~0.base|) |c_~#value~0.offset| (bvadd (select (select .cse9 |c_~#value~0.base|) |c_~#value~0.offset|) (_ bv1 32))))) (let ((.cse6 (store (store (store (store |c_#memory_int| |~#inc_flag~0.base| .cse8) |c_~#value~0.base| .cse5) |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_22) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_125))) (or (= (select v_DerPreprocessor_18 (_ bv0 32)) (_ bv0 32)) (= |~#inc_flag~0.base| |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base|) (let ((.cse7 (select (select .cse6 |c_~#value~0.base|) |c_~#value~0.offset|))) (bvugt (select (select (store (store (store (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_125) |~#inc_flag~0.base| v_DerPreprocessor_17) |c_~#value~0.base| (store (select (store (store (store (store |c_#memory_int| |c_~#value~0.base| .cse5) |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_22) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_125) |~#inc_flag~0.base| (store (select .cse6 |~#inc_flag~0.base|) |~#inc_flag~0.offset| v_ArrVal_128)) |c_~#value~0.base|) |c_~#value~0.offset| (bvadd (_ bv1 32) .cse7))) |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_18) |c_~#value~0.base|) |c_~#value~0.offset|) .cse7)) (not (= (select (select .cse6 |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base|) (_ bv0 32)) (_ bv0 32))) (= |~#inc_flag~0.base| |c_~#value~0.base|))))))) (forall ((v_DerPreprocessor_25 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_125 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_128 (_ BitVec 32)) (v_DerPreprocessor_19 (Array (_ BitVec 32) (_ BitVec 32))) (|~#inc_flag~0.offset| (_ BitVec 32)) (|thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| (_ BitVec 32)) (v_ArrVal_119 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse12 (store (store (store |c_#memory_int| |c_~#value~0.base| (let ((.cse13 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_119) |c_~#value~0.base|))) (store (store .cse13 |~#inc_flag~0.offset| (_ bv1 32)) |c_~#value~0.offset| (bvadd (select .cse13 |c_~#value~0.offset|) (_ bv1 32))))) |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_25) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_125))) (or (let ((.cse10 (select .cse12 |c_~#value~0.base|))) (let ((.cse11 (select .cse10 |c_~#value~0.offset|))) (bvugt (select (select (store (store (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_125) |c_~#value~0.base| (store (store .cse10 |~#inc_flag~0.offset| v_ArrVal_128) |c_~#value~0.offset| (bvadd .cse11 (_ bv1 32)))) |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_19) |c_~#value~0.base|) |c_~#value~0.offset|) .cse11))) (= (select v_DerPreprocessor_19 (_ bv0 32)) (_ bv0 32)) (not (= (select (select .cse12 |thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base|) (_ bv0 32)) (_ bv0 32))))))) is different from false [2023-11-21 19:57:02,543 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 5 not checked. [2023-11-21 19:57:02,543 INFO L136 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2023-11-21 19:57:02,543 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [958727232] [2023-11-21 19:57:02,543 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [958727232] provided 0 perfect and 2 imperfect interpolant sequences [2023-11-21 19:57:02,543 INFO L185 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2023-11-21 19:57:02,543 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 14] total 27 [2023-11-21 19:57:02,543 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1772832886] [2023-11-21 19:57:02,543 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2023-11-21 19:57:02,544 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 29 states [2023-11-21 19:57:02,544 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2023-11-21 19:57:02,544 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 29 interpolants. [2023-11-21 19:57:02,545 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=113, Invalid=404, Unknown=13, NotChecked=282, Total=812 [2023-11-21 19:57:02,545 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:57:02,545 INFO L495 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2023-11-21 19:57:02,545 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 29 states, 28 states have (on average 1.3571428571428572) internal successors, (38), 28 states have internal predecessors, (38), 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) [2023-11-21 19:57:02,545 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:57:02,545 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 4 states. [2023-11-21 19:57:02,545 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 7 states. [2023-11-21 19:57:02,545 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 15 states. [2023-11-21 19:57:02,545 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 6 states. [2023-11-21 19:57:02,545 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:57:05,675 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, BitVec], hasArrays=true, hasNonlinArith=false, quantifiers [0, 1] [2023-11-21 19:57:09,717 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse2 (select (select |c_#memory_int| |c_~#value~0.base|) |c_~#value~0.offset|))) (let ((.cse7 (= .cse2 |c_thr1Thread1of1ForFork0_inc_~inc__v~0#1|))) (let ((.cse1 (bvadd .cse2 (_ bv1 32))) (.cse3 (not .cse7))) (and (forall ((v_DerPreprocessor_4 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_66 (Array (_ BitVec 32) (_ BitVec 32))) (|~#inc_flag~0.base| (_ BitVec 32)) (|~#inc_flag~0.offset| (_ BitVec 32))) (bvugt (select (select (store (store (let ((.cse0 (store |c_#memory_int| |~#inc_flag~0.base| (store (select |c_#memory_int| |~#inc_flag~0.base|) |~#inc_flag~0.offset| (_ bv1 32))))) (store .cse0 |c_~#value~0.base| (store (select .cse0 |c_~#value~0.base|) |c_~#value~0.offset| .cse1))) |c_thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_4) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_66) |c_~#value~0.base|) |c_~#value~0.offset|) .cse2)) (or .cse3 (forall ((v_DerPreprocessor_4 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_66 (Array (_ BitVec 32) (_ BitVec 32))) (|~#inc_flag~0.base| (_ BitVec 32)) (|~#inc_flag~0.offset| (_ BitVec 32))) (bvugt (select (select (store (store (let ((.cse4 (store |c_#memory_int| |~#inc_flag~0.base| (store (select |c_#memory_int| |~#inc_flag~0.base|) |~#inc_flag~0.offset| (_ bv1 32))))) (store .cse4 |c_~#value~0.base| (store (select .cse4 |c_~#value~0.base|) |c_~#value~0.offset| |c_thr1Thread1of1ForFork0_inc_~inc__vn~0#1|))) |c_thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_4) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_66) |c_~#value~0.base|) |c_~#value~0.offset|) |c_thr1Thread1of1ForFork0_inc_~inc__v~0#1|))) (forall ((|v_thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base_15| (_ BitVec 32))) (or (forall ((v_DerPreprocessor_4 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_66 (Array (_ BitVec 32) (_ BitVec 32))) (|~#inc_flag~0.base| (_ BitVec 32)) (|~#inc_flag~0.offset| (_ BitVec 32))) (bvugt (select (select (store (store (let ((.cse5 (store |c_#memory_int| |~#inc_flag~0.base| (store (select |c_#memory_int| |~#inc_flag~0.base|) |~#inc_flag~0.offset| (_ bv1 32))))) (store .cse5 |c_~#value~0.base| (store (select .cse5 |c_~#value~0.base|) |c_~#value~0.offset| .cse1))) |v_thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base_15| v_DerPreprocessor_4) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_66) |c_~#value~0.base|) |c_~#value~0.offset|) .cse2)) (not (= (_ bv0 1) (select |c_#valid| |v_thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base_15|))))) (or .cse3 (forall ((v_DerPreprocessor_4 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_66 (Array (_ BitVec 32) (_ BitVec 32))) (|~#inc_flag~0.base| (_ BitVec 32)) (|~#inc_flag~0.offset| (_ BitVec 32))) (bvugt (select (select (store (store (let ((.cse6 (store |c_#memory_int| |~#inc_flag~0.base| (store (select |c_#memory_int| |~#inc_flag~0.base|) |~#inc_flag~0.offset| (_ bv1 32))))) (store .cse6 |c_~#value~0.base| (store (select .cse6 |c_~#value~0.base|) |c_~#value~0.offset| (bvadd |c_thr1Thread1of1ForFork0_inc_~inc__v~0#1| (_ bv1 32))))) |c_thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_4) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_66) |c_~#value~0.base|) |c_~#value~0.offset|) |c_thr1Thread1of1ForFork0_inc_~inc__v~0#1|))) (or .cse7 (forall ((v_ArrVal_66 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_3 (Array (_ BitVec 32) (_ BitVec 32)))) (bvugt (select (select (store (store |c_#memory_int| |c_thr1Thread1of1ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_3) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_66) |c_~#value~0.base|) |c_~#value~0.offset|) |c_thr1Thread1of1ForFork0_inc_~inc__v~0#1|))))))) is different from false [2023-11-21 19:57:09,933 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:57:09,933 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2023-11-21 19:57:09,933 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2023-11-21 19:57:09,934 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2023-11-21 19:57:09,934 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2023-11-21 19:57:09,934 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2023-11-21 19:57:09,936 INFO L805 garLoopResultBuilder]: Registering result SAFE for location thr1Err1ASSERT_VIOLATIONERROR_FUNCTION (1 of 2 remaining) [2023-11-21 19:57:09,936 INFO L805 garLoopResultBuilder]: Registering result SAFE for location thr1Err0ASSERT_VIOLATIONERROR_FUNCTION (0 of 2 remaining) [2023-11-21 19:57:09,942 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (8)] Forceful destruction successful, exit code 0 [2023-11-21 19:57:10,137 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 8 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2023-11-21 19:57:10,140 INFO L445 BasicCegarLoop]: Path program histogram: [2, 2, 1, 1] [2023-11-21 19:57:10,141 INFO L307 ceAbstractionStarter]: Result for error location thr1Thread1of1ForFork0 was SAFE,SAFE (1/2) [2023-11-21 19:57:10,143 INFO L100 denceProviderFactory]: Independence Relation #1: [IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=true, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2023-11-21 19:57:10,143 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 [2023-11-21 19:57:10,143 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2023-11-21 19:57:10,144 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (exit command is (exit), workingDir is null) [2023-11-21 19:57:10,145 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (9)] Waiting until timeout for monitored process [2023-11-21 19:57:10,158 INFO L159 artialOrderCegarLoop]: Running PartialOrderCegarLoop with 1 independence relations. [2023-11-21 19:57:10,159 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == ULTIMATE.start ======== [2023-11-21 19:57:10,159 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=PARTIAL_ORDER_FA, 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;@2fb2d30e, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2023-11-21 19:57:10,159 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2023-11-21 19:57:10,212 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES === [ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES] === [2023-11-21 19:57:10,212 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2023-11-21 19:57:10,212 INFO L85 PathProgramCache]: Analyzing trace with hash -1138696684, now seen corresponding path program 1 times [2023-11-21 19:57:10,212 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2023-11-21 19:57:10,213 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [44950693] [2023-11-21 19:57:10,213 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-11-21 19:57:10,213 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2023-11-21 19:57:10,213 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat [2023-11-21 19:57:10,214 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2023-11-21 19:57:10,214 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (10)] Waiting until timeout for monitored process [2023-11-21 19:57:10,270 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-21 19:57:10,271 INFO L262 TraceCheckSpWp]: Trace formula consists of 67 conjuncts, 1 conjunts are in the unsatisfiable core [2023-11-21 19:57:10,271 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2023-11-21 19:57:10,272 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2023-11-21 19:57:10,272 INFO L323 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2023-11-21 19:57:10,272 INFO L136 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2023-11-21 19:57:10,272 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [44950693] [2023-11-21 19:57:10,272 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [44950693] provided 1 perfect and 0 imperfect interpolant sequences [2023-11-21 19:57:10,272 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2023-11-21 19:57:10,279 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2023-11-21 19:57:10,280 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1041843633] [2023-11-21 19:57:10,280 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2023-11-21 19:57:10,280 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2023-11-21 19:57:10,280 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2023-11-21 19:57:10,280 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2023-11-21 19:57:10,281 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2023-11-21 19:57:10,281 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:57:10,281 INFO L495 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2023-11-21 19:57:10,281 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 5.0) internal successors, (10), 2 states have internal predecessors, (10), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2023-11-21 19:57:10,281 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:57:10,463 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:57:10,469 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (10)] Forceful destruction successful, exit code 0 [2023-11-21 19:57:10,666 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2023-11-21 19:57:10,667 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES === [ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES] === [2023-11-21 19:57:10,667 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2023-11-21 19:57:10,667 INFO L85 PathProgramCache]: Analyzing trace with hash -210693399, now seen corresponding path program 1 times [2023-11-21 19:57:10,667 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2023-11-21 19:57:10,667 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [67837863] [2023-11-21 19:57:10,667 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-11-21 19:57:10,667 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2023-11-21 19:57:10,667 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat [2023-11-21 19:57:10,668 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2023-11-21 19:57:10,669 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (11)] Waiting until timeout for monitored process [2023-11-21 19:57:10,732 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-21 19:57:10,734 INFO L262 TraceCheckSpWp]: Trace formula consists of 80 conjuncts, 7 conjunts are in the unsatisfiable core [2023-11-21 19:57:10,735 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2023-11-21 19:57:10,748 INFO L349 Elim1Store]: treesize reduction 6, result has 40.0 percent of original size [2023-11-21 19:57:10,748 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 13 treesize of output 13 [2023-11-21 19:57:10,770 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 [2023-11-21 19:57:10,807 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2023-11-21 19:57:10,807 INFO L323 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2023-11-21 19:57:10,807 INFO L136 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2023-11-21 19:57:10,808 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [67837863] [2023-11-21 19:57:10,808 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [67837863] provided 1 perfect and 0 imperfect interpolant sequences [2023-11-21 19:57:10,808 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2023-11-21 19:57:10,808 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2023-11-21 19:57:10,808 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2144733395] [2023-11-21 19:57:10,808 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2023-11-21 19:57:10,808 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2023-11-21 19:57:10,808 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2023-11-21 19:57:10,808 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2023-11-21 19:57:10,809 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2023-11-21 19:57:10,809 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:57:10,809 INFO L495 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2023-11-21 19:57:10,809 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2023-11-21 19:57:10,809 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:57:10,809 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:57:10,868 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:57:10,868 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2023-11-21 19:57:10,896 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (11)] Ended with exit code 0 [2023-11-21 19:57:11,069 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2023-11-21 19:57:11,069 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES === [ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES] === [2023-11-21 19:57:11,069 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2023-11-21 19:57:11,069 INFO L85 PathProgramCache]: Analyzing trace with hash 961626491, now seen corresponding path program 1 times [2023-11-21 19:57:11,069 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2023-11-21 19:57:11,069 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [885679096] [2023-11-21 19:57:11,069 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-11-21 19:57:11,070 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2023-11-21 19:57:11,070 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat [2023-11-21 19:57:11,070 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2023-11-21 19:57:11,072 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (12)] Waiting until timeout for monitored process [2023-11-21 19:57:11,138 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-11-21 19:57:11,138 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-11-21 19:57:11,159 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-11-21 19:57:11,183 INFO L130 FreeRefinementEngine]: Strategy WOLF found a feasible trace [2023-11-21 19:57:11,183 INFO L360 BasicCegarLoop]: Counterexample is feasible [2023-11-21 19:57:11,183 INFO L805 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (0 of 1 remaining) [2023-11-21 19:57:11,191 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (12)] Forceful destruction successful, exit code 0 [2023-11-21 19:57:11,384 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2023-11-21 19:57:11,385 INFO L445 BasicCegarLoop]: Path program histogram: [1, 1, 1] [2023-11-21 19:57:11,385 INFO L307 ceAbstractionStarter]: Result for error location ULTIMATE.start was UNSAFE (2/2) [2023-11-21 19:57:11,386 WARN L233 ceAbstractionStarter]: 1 thread instances were not sufficient, I will increase this number and restart the analysis [2023-11-21 19:57:11,386 INFO L514 ceAbstractionStarter]: Constructing petrified ICFG for 2 thread instances. [2023-11-21 19:57:11,412 INFO L144 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2023-11-21 19:57:11,414 INFO L100 denceProviderFactory]: Independence Relation #1: [IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=true, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2023-11-21 19:57:11,414 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 [2023-11-21 19:57:11,414 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2023-11-21 19:57:11,419 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (exit command is (exit), workingDir is null) [2023-11-21 19:57:11,422 INFO L159 artialOrderCegarLoop]: Running PartialOrderCegarLoop with 1 independence relations. [2023-11-21 19:57:11,422 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == ULTIMATE.start ======== [2023-11-21 19:57:11,422 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=PARTIAL_ORDER_FA, 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;@2fb2d30e, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2023-11-21 19:57:11,422 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2023-11-21 19:57:11,439 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (13)] Waiting until timeout for monitored process [2023-11-21 19:57:11,585 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES === [ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES] === [2023-11-21 19:57:11,585 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2023-11-21 19:57:11,585 INFO L85 PathProgramCache]: Analyzing trace with hash 1572867083, now seen corresponding path program 1 times [2023-11-21 19:57:11,585 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2023-11-21 19:57:11,585 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1245766572] [2023-11-21 19:57:11,586 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-11-21 19:57:11,586 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2023-11-21 19:57:11,586 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat [2023-11-21 19:57:11,588 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2023-11-21 19:57:11,599 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (14)] Waiting until timeout for monitored process [2023-11-21 19:57:11,678 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-21 19:57:11,680 INFO L262 TraceCheckSpWp]: Trace formula consists of 94 conjuncts, 1 conjunts are in the unsatisfiable core [2023-11-21 19:57:11,681 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2023-11-21 19:57:11,682 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 5 proven. 0 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2023-11-21 19:57:11,682 INFO L323 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2023-11-21 19:57:11,682 INFO L136 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2023-11-21 19:57:11,682 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1245766572] [2023-11-21 19:57:11,682 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1245766572] provided 1 perfect and 0 imperfect interpolant sequences [2023-11-21 19:57:11,682 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2023-11-21 19:57:11,682 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2023-11-21 19:57:11,682 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1827372627] [2023-11-21 19:57:11,682 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2023-11-21 19:57:11,682 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2023-11-21 19:57:11,682 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2023-11-21 19:57:11,683 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2023-11-21 19:57:11,683 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2023-11-21 19:57:11,683 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:57:11,683 INFO L495 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2023-11-21 19:57:11,683 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 8.0) internal successors, (16), 2 states have internal predecessors, (16), 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) [2023-11-21 19:57:11,683 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:57:12,280 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:57:12,283 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (14)] Forceful destruction successful, exit code 0 [2023-11-21 19:57:12,482 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2023-11-21 19:57:12,483 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES === [ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES] === [2023-11-21 19:57:12,483 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2023-11-21 19:57:12,483 INFO L85 PathProgramCache]: Analyzing trace with hash -1861066133, now seen corresponding path program 1 times [2023-11-21 19:57:12,484 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2023-11-21 19:57:12,484 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [706050901] [2023-11-21 19:57:12,484 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-11-21 19:57:12,484 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2023-11-21 19:57:12,484 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat [2023-11-21 19:57:12,485 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2023-11-21 19:57:12,493 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (15)] Waiting until timeout for monitored process [2023-11-21 19:57:12,604 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-21 19:57:12,607 INFO L262 TraceCheckSpWp]: Trace formula consists of 120 conjuncts, 7 conjunts are in the unsatisfiable core [2023-11-21 19:57:12,609 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2023-11-21 19:57:12,621 INFO L349 Elim1Store]: treesize reduction 6, result has 40.0 percent of original size [2023-11-21 19:57:12,621 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 13 treesize of output 13 [2023-11-21 19:57:12,645 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 [2023-11-21 19:57:12,684 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 5 proven. 0 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2023-11-21 19:57:12,685 INFO L323 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2023-11-21 19:57:12,685 INFO L136 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2023-11-21 19:57:12,685 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [706050901] [2023-11-21 19:57:12,685 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [706050901] provided 1 perfect and 0 imperfect interpolant sequences [2023-11-21 19:57:12,685 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2023-11-21 19:57:12,685 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2023-11-21 19:57:12,685 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [304365339] [2023-11-21 19:57:12,685 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2023-11-21 19:57:12,685 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2023-11-21 19:57:12,685 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2023-11-21 19:57:12,686 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2023-11-21 19:57:12,686 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2023-11-21 19:57:12,686 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:57:12,686 INFO L495 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2023-11-21 19:57:12,686 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 4.8) internal successors, (24), 4 states have internal predecessors, (24), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2023-11-21 19:57:12,686 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:57:12,686 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:57:13,251 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:57:13,251 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2023-11-21 19:57:13,255 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (15)] Forceful destruction successful, exit code 0 [2023-11-21 19:57:13,452 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 15 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2023-11-21 19:57:13,452 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES === [ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES] === [2023-11-21 19:57:13,452 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2023-11-21 19:57:13,452 INFO L85 PathProgramCache]: Analyzing trace with hash -1549389063, now seen corresponding path program 1 times [2023-11-21 19:57:13,453 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2023-11-21 19:57:13,453 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [599657881] [2023-11-21 19:57:13,453 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-11-21 19:57:13,453 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2023-11-21 19:57:13,453 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat [2023-11-21 19:57:13,454 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2023-11-21 19:57:13,455 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (16)] Waiting until timeout for monitored process [2023-11-21 19:57:13,558 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-21 19:57:13,561 INFO L262 TraceCheckSpWp]: Trace formula consists of 109 conjuncts, 8 conjunts are in the unsatisfiable core [2023-11-21 19:57:13,562 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2023-11-21 19:57:13,574 INFO L349 Elim1Store]: treesize reduction 6, result has 40.0 percent of original size [2023-11-21 19:57:13,574 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 13 treesize of output 13 [2023-11-21 19:57:13,591 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 [2023-11-21 19:57:13,665 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 [2023-11-21 19:57:13,703 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 4 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2023-11-21 19:57:13,703 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2023-11-21 19:57:13,732 WARN L854 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_228 (Array (_ BitVec 32) (_ BitVec 32)))) (= (select (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_228) |c_~#value~0.base|) |c_~#value~0.offset|) (_ bv0 32))) is different from false [2023-11-21 19:57:13,761 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 2 not checked. [2023-11-21 19:57:13,761 INFO L136 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2023-11-21 19:57:13,761 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [599657881] [2023-11-21 19:57:13,761 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [599657881] provided 0 perfect and 2 imperfect interpolant sequences [2023-11-21 19:57:13,761 INFO L185 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2023-11-21 19:57:13,761 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 6 [2023-11-21 19:57:13,761 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [50151625] [2023-11-21 19:57:13,761 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2023-11-21 19:57:13,762 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2023-11-21 19:57:13,762 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2023-11-21 19:57:13,762 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2023-11-21 19:57:13,762 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=19, Unknown=1, NotChecked=8, Total=42 [2023-11-21 19:57:13,762 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:57:13,762 INFO L495 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2023-11-21 19:57:13,763 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 5.571428571428571) internal successors, (39), 6 states have internal predecessors, (39), 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) [2023-11-21 19:57:13,763 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:57:13,763 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 4 states. [2023-11-21 19:57:13,763 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:57:13,861 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:57:13,861 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2023-11-21 19:57:13,862 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2023-11-21 19:57:13,865 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (16)] Forceful destruction successful, exit code 0 [2023-11-21 19:57:14,065 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 16 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2023-11-21 19:57:14,065 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES === [ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES] === [2023-11-21 19:57:14,066 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2023-11-21 19:57:14,066 INFO L85 PathProgramCache]: Analyzing trace with hash 441798315, now seen corresponding path program 1 times [2023-11-21 19:57:14,066 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2023-11-21 19:57:14,066 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1371796928] [2023-11-21 19:57:14,066 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-11-21 19:57:14,066 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2023-11-21 19:57:14,066 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat [2023-11-21 19:57:14,067 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2023-11-21 19:57:14,071 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (17)] Waiting until timeout for monitored process [2023-11-21 19:57:14,170 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-11-21 19:57:14,171 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-11-21 19:57:14,204 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-11-21 19:57:14,229 INFO L130 FreeRefinementEngine]: Strategy WOLF found a feasible trace [2023-11-21 19:57:14,230 INFO L360 BasicCegarLoop]: Counterexample is feasible [2023-11-21 19:57:14,230 INFO L805 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (0 of 1 remaining) [2023-11-21 19:57:14,235 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (17)] Forceful destruction successful, exit code 0 [2023-11-21 19:57:14,430 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 17 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2023-11-21 19:57:14,431 INFO L445 BasicCegarLoop]: Path program histogram: [1, 1, 1, 1] [2023-11-21 19:57:14,432 INFO L307 ceAbstractionStarter]: Result for error location ULTIMATE.start was UNSAFE (1/3) [2023-11-21 19:57:14,432 WARN L233 ceAbstractionStarter]: 2 thread instances were not sufficient, I will increase this number and restart the analysis [2023-11-21 19:57:14,432 INFO L514 ceAbstractionStarter]: Constructing petrified ICFG for 3 thread instances. [2023-11-21 19:57:14,474 INFO L144 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2023-11-21 19:57:14,476 INFO L100 denceProviderFactory]: Independence Relation #1: [IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=true, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2023-11-21 19:57:14,476 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 [2023-11-21 19:57:14,476 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2023-11-21 19:57:14,477 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (exit command is (exit), workingDir is null) [2023-11-21 19:57:14,478 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (18)] Waiting until timeout for monitored process [2023-11-21 19:57:14,479 INFO L159 artialOrderCegarLoop]: Running PartialOrderCegarLoop with 1 independence relations. [2023-11-21 19:57:14,480 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == thr1Thread3of3ForFork0 ======== [2023-11-21 19:57:14,480 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=PARTIAL_ORDER_FA, 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;@2fb2d30e, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2023-11-21 19:57:14,480 INFO L358 AbstractCegarLoop]: Starting to check reachability of 2 error locations. [2023-11-21 19:57:14,792 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting thr1Err1ASSERT_VIOLATIONERROR_FUNCTION === [thr1Err1ASSERT_VIOLATIONERROR_FUNCTION, thr1Err0ASSERT_VIOLATIONERROR_FUNCTION] === [2023-11-21 19:57:14,792 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2023-11-21 19:57:14,792 INFO L85 PathProgramCache]: Analyzing trace with hash 631038700, now seen corresponding path program 1 times [2023-11-21 19:57:14,792 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2023-11-21 19:57:14,792 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1736281575] [2023-11-21 19:57:14,792 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-11-21 19:57:14,793 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2023-11-21 19:57:14,793 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat [2023-11-21 19:57:14,793 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2023-11-21 19:57:14,794 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (19)] Waiting until timeout for monitored process [2023-11-21 19:57:14,912 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-21 19:57:14,914 INFO L262 TraceCheckSpWp]: Trace formula consists of 115 conjuncts, 1 conjunts are in the unsatisfiable core [2023-11-21 19:57:14,915 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2023-11-21 19:57:14,919 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2023-11-21 19:57:14,920 INFO L323 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2023-11-21 19:57:14,920 INFO L136 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2023-11-21 19:57:14,920 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1736281575] [2023-11-21 19:57:14,920 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1736281575] provided 1 perfect and 0 imperfect interpolant sequences [2023-11-21 19:57:14,920 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2023-11-21 19:57:14,920 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2023-11-21 19:57:14,921 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [856181145] [2023-11-21 19:57:14,921 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2023-11-21 19:57:14,921 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2023-11-21 19:57:14,921 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2023-11-21 19:57:14,921 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2023-11-21 19:57:14,922 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2023-11-21 19:57:14,922 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:57:14,922 INFO L495 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2023-11-21 19:57:14,922 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 10.0) internal successors, (20), 2 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2023-11-21 19:57:14,922 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:57:16,395 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:57:16,400 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (19)] Forceful destruction successful, exit code 0 [2023-11-21 19:57:16,600 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 19 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2023-11-21 19:57:16,601 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting thr1Err1ASSERT_VIOLATIONERROR_FUNCTION === [thr1Err1ASSERT_VIOLATIONERROR_FUNCTION, thr1Err0ASSERT_VIOLATIONERROR_FUNCTION] === [2023-11-21 19:57:16,601 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2023-11-21 19:57:16,601 INFO L85 PathProgramCache]: Analyzing trace with hash -1555439647, now seen corresponding path program 1 times [2023-11-21 19:57:16,601 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2023-11-21 19:57:16,602 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [2002090120] [2023-11-21 19:57:16,602 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-11-21 19:57:16,602 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2023-11-21 19:57:16,602 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat [2023-11-21 19:57:16,603 INFO L229 MonitoredProcess]: Starting monitored process 20 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2023-11-21 19:57:16,604 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (20)] Waiting until timeout for monitored process [2023-11-21 19:57:16,816 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-21 19:57:16,820 INFO L262 TraceCheckSpWp]: Trace formula consists of 154 conjuncts, 7 conjunts are in the unsatisfiable core [2023-11-21 19:57:16,821 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2023-11-21 19:57:16,838 INFO L349 Elim1Store]: treesize reduction 6, result has 40.0 percent of original size [2023-11-21 19:57:16,838 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 13 treesize of output 13 [2023-11-21 19:57:16,869 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 [2023-11-21 19:57:16,915 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2023-11-21 19:57:16,916 INFO L323 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2023-11-21 19:57:16,916 INFO L136 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2023-11-21 19:57:16,916 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [2002090120] [2023-11-21 19:57:16,916 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [2002090120] provided 1 perfect and 0 imperfect interpolant sequences [2023-11-21 19:57:16,916 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2023-11-21 19:57:16,916 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2023-11-21 19:57:16,916 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2118129374] [2023-11-21 19:57:16,916 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2023-11-21 19:57:16,917 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2023-11-21 19:57:16,917 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2023-11-21 19:57:16,917 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2023-11-21 19:57:16,917 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2023-11-21 19:57:16,917 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:57:16,918 INFO L495 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2023-11-21 19:57:16,918 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 6.4) internal successors, (32), 4 states have internal predecessors, (32), 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) [2023-11-21 19:57:16,918 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:57:16,935 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:57:18,165 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:57:18,166 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2023-11-21 19:57:18,172 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (20)] Forceful destruction successful, exit code 0 [2023-11-21 19:57:18,366 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 20 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2023-11-21 19:57:18,366 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting thr1Err1ASSERT_VIOLATIONERROR_FUNCTION === [thr1Err1ASSERT_VIOLATIONERROR_FUNCTION, thr1Err0ASSERT_VIOLATIONERROR_FUNCTION] === [2023-11-21 19:57:18,367 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2023-11-21 19:57:18,367 INFO L85 PathProgramCache]: Analyzing trace with hash -278492013, now seen corresponding path program 1 times [2023-11-21 19:57:18,367 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2023-11-21 19:57:18,367 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1704182522] [2023-11-21 19:57:18,367 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-11-21 19:57:18,367 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2023-11-21 19:57:18,367 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat [2023-11-21 19:57:18,368 INFO L229 MonitoredProcess]: Starting monitored process 21 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2023-11-21 19:57:18,370 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (21)] Waiting until timeout for monitored process [2023-11-21 19:57:18,522 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-21 19:57:18,525 INFO L262 TraceCheckSpWp]: Trace formula consists of 143 conjuncts, 8 conjunts are in the unsatisfiable core [2023-11-21 19:57:18,527 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2023-11-21 19:57:18,538 INFO L349 Elim1Store]: treesize reduction 6, result has 40.0 percent of original size [2023-11-21 19:57:18,538 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 13 treesize of output 13 [2023-11-21 19:57:18,560 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 [2023-11-21 19:57:18,627 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 [2023-11-21 19:57:18,674 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 6 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2023-11-21 19:57:18,675 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2023-11-21 19:57:18,771 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 6 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2023-11-21 19:57:18,771 INFO L136 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2023-11-21 19:57:18,771 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1704182522] [2023-11-21 19:57:18,771 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1704182522] provided 0 perfect and 2 imperfect interpolant sequences [2023-11-21 19:57:18,771 INFO L185 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2023-11-21 19:57:18,771 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 6 [2023-11-21 19:57:18,771 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1964749954] [2023-11-21 19:57:18,771 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2023-11-21 19:57:18,772 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2023-11-21 19:57:18,772 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2023-11-21 19:57:18,772 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2023-11-21 19:57:18,772 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=24, Unknown=3, NotChecked=0, Total=42 [2023-11-21 19:57:18,772 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:57:18,772 INFO L495 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2023-11-21 19:57:18,772 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 6.857142857142857) internal successors, (48), 6 states have internal predecessors, (48), 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) [2023-11-21 19:57:18,772 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:57:18,772 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 4 states. [2023-11-21 19:57:18,772 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:57:19,734 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:57:19,734 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2023-11-21 19:57:19,735 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2023-11-21 19:57:19,739 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (21)] Forceful destruction successful, exit code 0 [2023-11-21 19:57:19,935 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 21 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2023-11-21 19:57:19,935 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting thr1Err1ASSERT_VIOLATIONERROR_FUNCTION === [thr1Err1ASSERT_VIOLATIONERROR_FUNCTION, thr1Err0ASSERT_VIOLATIONERROR_FUNCTION] === [2023-11-21 19:57:19,935 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2023-11-21 19:57:19,936 INFO L85 PathProgramCache]: Analyzing trace with hash 332272801, now seen corresponding path program 1 times [2023-11-21 19:57:19,936 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2023-11-21 19:57:19,936 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [384114800] [2023-11-21 19:57:19,936 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-11-21 19:57:19,936 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2023-11-21 19:57:19,936 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat [2023-11-21 19:57:19,937 INFO L229 MonitoredProcess]: Starting monitored process 22 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2023-11-21 19:57:19,938 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (22)] Waiting until timeout for monitored process [2023-11-21 19:57:20,092 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-21 19:57:20,094 INFO L262 TraceCheckSpWp]: Trace formula consists of 132 conjuncts, 9 conjunts are in the unsatisfiable core [2023-11-21 19:57:20,096 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2023-11-21 19:57:20,108 INFO L349 Elim1Store]: treesize reduction 6, result has 40.0 percent of original size [2023-11-21 19:57:20,109 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 13 treesize of output 13 [2023-11-21 19:57:20,133 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 [2023-11-21 19:57:20,207 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 [2023-11-21 19:57:20,274 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 [2023-11-21 19:57:20,311 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2023-11-21 19:57:20,312 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2023-11-21 19:57:20,336 WARN L854 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_355 (Array (_ BitVec 32) (_ BitVec 32)))) (= (select (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_355) |c_~#value~0.base|) |c_~#value~0.offset|) (_ bv0 32))) is different from false [2023-11-21 19:57:20,415 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 5 trivial. 4 not checked. [2023-11-21 19:57:20,416 INFO L136 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2023-11-21 19:57:20,416 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [384114800] [2023-11-21 19:57:20,416 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [384114800] provided 0 perfect and 2 imperfect interpolant sequences [2023-11-21 19:57:20,416 INFO L185 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2023-11-21 19:57:20,416 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 6 [2023-11-21 19:57:20,416 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1012631471] [2023-11-21 19:57:20,416 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2023-11-21 19:57:20,417 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2023-11-21 19:57:20,417 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2023-11-21 19:57:20,418 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2023-11-21 19:57:20,418 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=19, Unknown=1, NotChecked=8, Total=42 [2023-11-21 19:57:20,418 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:57:20,418 INFO L495 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2023-11-21 19:57:20,418 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 7.285714285714286) internal successors, (51), 6 states have internal predecessors, (51), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2023-11-21 19:57:20,418 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:57:20,418 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 4 states. [2023-11-21 19:57:20,418 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 4 states. [2023-11-21 19:57:20,418 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:57:22,001 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:57:22,002 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2023-11-21 19:57:22,002 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2023-11-21 19:57:22,002 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2023-11-21 19:57:22,006 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (22)] Forceful destruction successful, exit code 0 [2023-11-21 19:57:22,203 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 22 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2023-11-21 19:57:22,203 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting thr1Err0ASSERT_VIOLATIONERROR_FUNCTION === [thr1Err1ASSERT_VIOLATIONERROR_FUNCTION, thr1Err0ASSERT_VIOLATIONERROR_FUNCTION] === [2023-11-21 19:57:22,203 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2023-11-21 19:57:22,203 INFO L85 PathProgramCache]: Analyzing trace with hash 2136126883, now seen corresponding path program 1 times [2023-11-21 19:57:22,203 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2023-11-21 19:57:22,203 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1999361677] [2023-11-21 19:57:22,204 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-11-21 19:57:22,204 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2023-11-21 19:57:22,204 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat [2023-11-21 19:57:22,204 INFO L229 MonitoredProcess]: Starting monitored process 23 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2023-11-21 19:57:22,208 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (23)] Waiting until timeout for monitored process [2023-11-21 19:57:22,345 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-21 19:57:22,348 INFO L262 TraceCheckSpWp]: Trace formula consists of 132 conjuncts, 26 conjunts are in the unsatisfiable core [2023-11-21 19:57:22,350 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2023-11-21 19:57:22,372 INFO L349 Elim1Store]: treesize reduction 22, result has 35.3 percent of original size [2023-11-21 19:57:22,373 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 19 treesize of output 27 [2023-11-21 19:57:22,406 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 [2023-11-21 19:57:22,486 INFO L349 Elim1Store]: treesize reduction 48, result has 32.4 percent of original size [2023-11-21 19:57:22,487 INFO L378 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 28 treesize of output 36 [2023-11-21 19:57:22,587 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 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 23 treesize of output 25 [2023-11-21 19:57:22,651 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 [2023-11-21 19:57:22,737 INFO L349 Elim1Store]: treesize reduction 48, result has 32.4 percent of original size [2023-11-21 19:57:22,737 INFO L378 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 28 treesize of output 36 [2023-11-21 19:57:22,826 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 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 23 treesize of output 25 [2023-11-21 19:57:22,873 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 [2023-11-21 19:57:22,968 INFO L349 Elim1Store]: treesize reduction 12, result has 42.9 percent of original size [2023-11-21 19:57:22,969 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 20 treesize of output 22 [2023-11-21 19:57:23,101 INFO L349 Elim1Store]: treesize reduction 17, result has 46.9 percent of original size [2023-11-21 19:57:23,101 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 40 treesize of output 34 [2023-11-21 19:57:23,137 INFO L349 Elim1Store]: treesize reduction 21, result has 30.0 percent of original size [2023-11-21 19:57:23,138 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 31 treesize of output 33 [2023-11-21 19:57:23,185 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2023-11-21 19:57:23,185 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2023-11-21 19:57:23,282 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse0 (= |c_thr1Thread3of3ForFork0_inc_~inc__v~0#1| (select (select |c_#memory_int| |c_~#value~0.base|) |c_~#value~0.offset|)))) (and (or .cse0 (forall ((v_DerPreprocessor_27 (Array (_ BitVec 32) (_ BitVec 32)))) (bvugt (select (select (store |c_#memory_int| |c_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_27) |c_~#value~0.base|) |c_~#value~0.offset|) |c_thr1Thread3of3ForFork0_inc_~inc__v~0#1|))) (or (forall ((v_ArrVal_392 (_ BitVec 32)) (v_DerPreprocessor_28 (Array (_ BitVec 32) (_ BitVec 32))) (|~#inc_flag~0.base| (_ BitVec 32)) (|~#inc_flag~0.offset| (_ BitVec 32))) (bvugt (select (select (store (let ((.cse1 (store |c_#memory_int| |~#inc_flag~0.base| (store (select |c_#memory_int| |~#inc_flag~0.base|) |~#inc_flag~0.offset| v_ArrVal_392)))) (store .cse1 |c_~#value~0.base| (store (select .cse1 |c_~#value~0.base|) |c_~#value~0.offset| |c_thr1Thread3of3ForFork0_inc_~inc__vn~0#1|))) |c_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_28) |c_~#value~0.base|) |c_~#value~0.offset|) |c_thr1Thread3of3ForFork0_inc_~inc__v~0#1|)) (not .cse0)))) is different from false [2023-11-21 19:57:23,309 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse0 (= |c_thr1Thread3of3ForFork0_inc_~inc__v~0#1| (select (select |c_#memory_int| |c_~#value~0.base|) |c_~#value~0.offset|)))) (and (or .cse0 (forall ((v_DerPreprocessor_27 (Array (_ BitVec 32) (_ BitVec 32)))) (bvugt (select (select (store |c_#memory_int| |c_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_27) |c_~#value~0.base|) |c_~#value~0.offset|) |c_thr1Thread3of3ForFork0_inc_~inc__v~0#1|))) (or (not .cse0) (forall ((v_ArrVal_392 (_ BitVec 32)) (v_DerPreprocessor_28 (Array (_ BitVec 32) (_ BitVec 32))) (|~#inc_flag~0.base| (_ BitVec 32)) (|~#inc_flag~0.offset| (_ BitVec 32))) (bvugt (select (select (store (let ((.cse1 (store |c_#memory_int| |~#inc_flag~0.base| (store (select |c_#memory_int| |~#inc_flag~0.base|) |~#inc_flag~0.offset| v_ArrVal_392)))) (store .cse1 |c_~#value~0.base| (store (select .cse1 |c_~#value~0.base|) |c_~#value~0.offset| (bvadd |c_thr1Thread3of3ForFork0_inc_~inc__v~0#1| (_ bv1 32))))) |c_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_28) |c_~#value~0.base|) |c_~#value~0.offset|) |c_thr1Thread3of3ForFork0_inc_~inc__v~0#1|))))) is different from false [2023-11-21 19:57:23,483 WARN L854 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_387 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_392 (_ BitVec 32)) (v_DerPreprocessor_28 (Array (_ BitVec 32) (_ BitVec 32))) (|v_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base_17| (_ BitVec 32)) (|~#inc_flag~0.base| (_ BitVec 32)) (|~#inc_flag~0.offset| (_ BitVec 32))) (or (not (= (select |c_#valid| |v_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base_17|) (_ bv0 1))) (let ((.cse2 (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_387))) (let ((.cse1 (select (select .cse2 |c_~#value~0.base|) |c_~#value~0.offset|))) (bvugt (select (select (store (let ((.cse0 (store .cse2 |~#inc_flag~0.base| (store (select .cse2 |~#inc_flag~0.base|) |~#inc_flag~0.offset| v_ArrVal_392)))) (store .cse0 |c_~#value~0.base| (store (select .cse0 |c_~#value~0.base|) |c_~#value~0.offset| (bvadd .cse1 (_ bv1 32))))) |v_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base_17| v_DerPreprocessor_28) |c_~#value~0.base|) |c_~#value~0.offset|) .cse1))))) is different from false [2023-11-21 19:57:26,002 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 2 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 2 not checked. [2023-11-21 19:57:26,002 INFO L136 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2023-11-21 19:57:26,002 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1999361677] [2023-11-21 19:57:26,002 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1999361677] provided 0 perfect and 2 imperfect interpolant sequences [2023-11-21 19:57:26,002 INFO L185 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2023-11-21 19:57:26,003 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 10] total 18 [2023-11-21 19:57:26,003 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [917011313] [2023-11-21 19:57:26,003 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2023-11-21 19:57:26,003 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2023-11-21 19:57:26,003 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2023-11-21 19:57:26,004 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2023-11-21 19:57:26,004 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=169, Unknown=52, NotChecked=96, Total=380 [2023-11-21 19:57:26,004 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:57:26,004 INFO L495 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2023-11-21 19:57:26,004 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 20 states, 19 states have (on average 3.1052631578947367) internal successors, (59), 19 states have internal predecessors, (59), 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) [2023-11-21 19:57:26,004 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:57:26,004 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 4 states. [2023-11-21 19:57:26,005 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 4 states. [2023-11-21 19:57:26,005 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 4 states. [2023-11-21 19:57:26,005 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:57:30,160 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, BitVec], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2023-11-21 19:57:32,442 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:57:32,442 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2023-11-21 19:57:32,442 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2023-11-21 19:57:32,442 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2023-11-21 19:57:32,443 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2023-11-21 19:57:32,450 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (23)] Ended with exit code 0 [2023-11-21 19:57:32,643 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 23 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2023-11-21 19:57:32,643 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting thr1Err0ASSERT_VIOLATIONERROR_FUNCTION === [thr1Err1ASSERT_VIOLATIONERROR_FUNCTION, thr1Err0ASSERT_VIOLATIONERROR_FUNCTION] === [2023-11-21 19:57:32,643 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2023-11-21 19:57:32,644 INFO L85 PathProgramCache]: Analyzing trace with hash 1795423590, now seen corresponding path program 2 times [2023-11-21 19:57:32,644 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2023-11-21 19:57:32,644 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1062331754] [2023-11-21 19:57:32,644 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2023-11-21 19:57:32,644 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2023-11-21 19:57:32,644 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat [2023-11-21 19:57:32,645 INFO L229 MonitoredProcess]: Starting monitored process 24 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2023-11-21 19:57:32,646 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (24)] Waiting until timeout for monitored process [2023-11-21 19:57:32,785 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2023-11-21 19:57:32,785 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2023-11-21 19:57:32,788 INFO L262 TraceCheckSpWp]: Trace formula consists of 137 conjuncts, 21 conjunts are in the unsatisfiable core [2023-11-21 19:57:32,791 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2023-11-21 19:57:32,826 INFO L349 Elim1Store]: treesize reduction 6, result has 40.0 percent of original size [2023-11-21 19:57:32,826 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 13 treesize of output 13 [2023-11-21 19:57:32,872 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 [2023-11-21 19:57:33,115 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 [2023-11-21 19:57:33,326 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 [2023-11-21 19:57:33,710 INFO L349 Elim1Store]: treesize reduction 17, result has 29.2 percent of original size [2023-11-21 19:57:33,710 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 2 case distinctions, treesize of input 35 treesize of output 18 [2023-11-21 19:57:33,766 INFO L349 Elim1Store]: treesize reduction 17, result has 29.2 percent of original size [2023-11-21 19:57:33,766 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 2 case distinctions, treesize of input 49 treesize of output 18 [2023-11-21 19:57:33,786 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 19 treesize of output 11 [2023-11-21 19:57:33,820 INFO L349 Elim1Store]: treesize reduction 67, result has 1.5 percent of original size [2023-11-21 19:57:33,820 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 3 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 4 new quantified variables, introduced 4 case distinctions, treesize of input 59 treesize of output 1 [2023-11-21 19:57:33,851 INFO L349 Elim1Store]: treesize reduction 37, result has 2.6 percent of original size [2023-11-21 19:57:33,852 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 3 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 4 new quantified variables, introduced 2 case distinctions, treesize of input 64 treesize of output 1 [2023-11-21 19:57:33,993 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 [2023-11-21 19:57:34,047 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 2 proven. 3 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2023-11-21 19:57:34,048 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2023-11-21 19:57:34,822 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse2 (select |c_#memory_int| |c_~#value~0.base|))) (let ((.cse0 (= |c_thr1Thread3of3ForFork0_inc_~inc__v~0#1| (select .cse2 |c_~#value~0.offset|)))) (and (or .cse0 (forall ((v_DerPreprocessor_29 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_430 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (_ BitVec 32))) (bvugt (select (select (store (store |c_#memory_int| |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_29) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_430) |c_~#value~0.base|) |c_~#value~0.offset|) |c_thr1Thread3of3ForFork0_inc_~inc__v~0#1|))) (or (let ((.cse5 (store .cse2 |c_~#value~0.offset| |c_thr1Thread3of3ForFork0_inc_~inc__vn~0#1|))) (and (forall ((v_DerPreprocessor_32 (_ BitVec 32)) (v_ArrVal_430 (Array (_ BitVec 32) (_ BitVec 32))) (|~#inc_flag~0.offset| (_ BitVec 32)) (|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (_ BitVec 32))) (or (= |c_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| |~#inc_flag~0.offset|) (bvugt (select (select (store (let ((.cse1 (store |c_#memory_int| |c_~#value~0.base| (store (store .cse2 |~#inc_flag~0.offset| v_DerPreprocessor_32) |c_~#value~0.offset| |c_thr1Thread3of3ForFork0_inc_~inc__vn~0#1|)))) (store .cse1 |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (store (select .cse1 |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|) |c_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ bv1 32)))) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_430) |c_~#value~0.base|) |c_~#value~0.offset|) |c_thr1Thread3of3ForFork0_inc_~inc__v~0#1|) (= |c_~#value~0.offset| |~#inc_flag~0.offset|))) (forall ((v_ArrVal_425 (_ BitVec 32)) (v_ArrVal_430 (Array (_ BitVec 32) (_ BitVec 32))) (|~#inc_flag~0.base| (_ BitVec 32)) (|~#inc_flag~0.offset| (_ BitVec 32)) (|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_31 (Array (_ BitVec 32) (_ BitVec 32)))) (or (= |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| |~#inc_flag~0.base|) (= |~#inc_flag~0.base| |c_~#value~0.base|) (bvugt (select (select (store (let ((.cse4 (store |c_#memory_int| |~#inc_flag~0.base| (store (select |c_#memory_int| |~#inc_flag~0.base|) |~#inc_flag~0.offset| v_ArrVal_425)))) (let ((.cse3 (store (select .cse4 |c_~#value~0.base|) |c_~#value~0.offset| |c_thr1Thread3of3ForFork0_inc_~inc__vn~0#1|))) (store (store (store |c_#memory_int| |~#inc_flag~0.base| v_DerPreprocessor_31) |c_~#value~0.base| .cse3) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (store (select (store .cse4 |c_~#value~0.base| .cse3) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|) |c_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ bv1 32))))) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_430) |c_~#value~0.base|) |c_~#value~0.offset|) |c_thr1Thread3of3ForFork0_inc_~inc__v~0#1|))) (forall ((v_ArrVal_430 (Array (_ BitVec 32) (_ BitVec 32)))) (bvugt (select (select (store (store |c_#memory_int| |c_~#value~0.base| (store .cse5 |c_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ bv1 32))) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_430) |c_~#value~0.base|) |c_~#value~0.offset|) |c_thr1Thread3of3ForFork0_inc_~inc__v~0#1|)) (forall ((v_ArrVal_425 (_ BitVec 32)) (v_ArrVal_430 (Array (_ BitVec 32) (_ BitVec 32))) (|~#inc_flag~0.offset| (_ BitVec 32)) (|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (_ BitVec 32))) (bvugt (select (select (store (let ((.cse7 (store |c_#memory_int| |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (store (select |c_#memory_int| |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|) |~#inc_flag~0.offset| v_ArrVal_425)))) (let ((.cse6 (store (select .cse7 |c_~#value~0.base|) |c_~#value~0.offset| |c_thr1Thread3of3ForFork0_inc_~inc__vn~0#1|))) (store (store |c_#memory_int| |c_~#value~0.base| .cse6) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (store (select (store .cse7 |c_~#value~0.base| .cse6) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|) |c_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ bv1 32))))) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_430) |c_~#value~0.base|) |c_~#value~0.offset|) |c_thr1Thread3of3ForFork0_inc_~inc__v~0#1|)) (forall ((v_DerPreprocessor_30 (_ BitVec 32)) (v_ArrVal_430 (Array (_ BitVec 32) (_ BitVec 32))) (|~#inc_flag~0.offset| (_ BitVec 32)) (|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (_ BitVec 32))) (or (= |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| |c_~#value~0.base|) (bvugt (select (select (store (let ((.cse8 (store |c_#memory_int| |c_~#value~0.base| (store (store .cse2 |~#inc_flag~0.offset| v_DerPreprocessor_30) |c_~#value~0.offset| |c_thr1Thread3of3ForFork0_inc_~inc__vn~0#1|)))) (store .cse8 |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (store (select .cse8 |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|) |c_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ bv1 32)))) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_430) |c_~#value~0.base|) |c_~#value~0.offset|) |c_thr1Thread3of3ForFork0_inc_~inc__v~0#1|) (= |c_~#value~0.offset| |~#inc_flag~0.offset|))) (forall ((v_ArrVal_430 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (_ BitVec 32))) (bvugt (select (select (store (let ((.cse9 (store |c_#memory_int| |c_~#value~0.base| .cse5))) (store .cse9 |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (store (select .cse9 |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|) |c_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ bv1 32)))) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_430) |c_~#value~0.base|) |c_~#value~0.offset|) |c_thr1Thread3of3ForFork0_inc_~inc__v~0#1|)))) (not .cse0))))) is different from false [2023-11-21 19:57:35,063 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse5 (select |c_#memory_int| |c_~#value~0.base|))) (let ((.cse0 (= |c_thr1Thread3of3ForFork0_inc_~inc__v~0#1| (select .cse5 |c_~#value~0.offset|)))) (and (or .cse0 (forall ((v_DerPreprocessor_29 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_430 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (_ BitVec 32))) (bvugt (select (select (store (store |c_#memory_int| |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_29) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_430) |c_~#value~0.base|) |c_~#value~0.offset|) |c_thr1Thread3of3ForFork0_inc_~inc__v~0#1|))) (or (let ((.cse3 (bvadd |c_thr1Thread3of3ForFork0_inc_~inc__v~0#1| (_ bv1 32)))) (let ((.cse8 (store .cse5 |c_~#value~0.offset| .cse3))) (and (forall ((v_ArrVal_425 (_ BitVec 32)) (v_ArrVal_430 (Array (_ BitVec 32) (_ BitVec 32))) (|~#inc_flag~0.base| (_ BitVec 32)) (|~#inc_flag~0.offset| (_ BitVec 32)) (|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_31 (Array (_ BitVec 32) (_ BitVec 32)))) (or (= |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| |~#inc_flag~0.base|) (= |~#inc_flag~0.base| |c_~#value~0.base|) (bvugt (select (select (store (let ((.cse2 (store |c_#memory_int| |~#inc_flag~0.base| (store (select |c_#memory_int| |~#inc_flag~0.base|) |~#inc_flag~0.offset| v_ArrVal_425)))) (let ((.cse1 (store (select .cse2 |c_~#value~0.base|) |c_~#value~0.offset| .cse3))) (store (store (store |c_#memory_int| |~#inc_flag~0.base| v_DerPreprocessor_31) |c_~#value~0.base| .cse1) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (store (select (store .cse2 |c_~#value~0.base| .cse1) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|) |c_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ bv1 32))))) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_430) |c_~#value~0.base|) |c_~#value~0.offset|) |c_thr1Thread3of3ForFork0_inc_~inc__v~0#1|))) (forall ((v_DerPreprocessor_30 (_ BitVec 32)) (v_ArrVal_430 (Array (_ BitVec 32) (_ BitVec 32))) (|~#inc_flag~0.offset| (_ BitVec 32)) (|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (_ BitVec 32))) (or (= |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| |c_~#value~0.base|) (bvugt (select (select (store (let ((.cse4 (store |c_#memory_int| |c_~#value~0.base| (store (store .cse5 |~#inc_flag~0.offset| v_DerPreprocessor_30) |c_~#value~0.offset| .cse3)))) (store .cse4 |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (store (select .cse4 |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|) |c_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ bv1 32)))) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_430) |c_~#value~0.base|) |c_~#value~0.offset|) |c_thr1Thread3of3ForFork0_inc_~inc__v~0#1|) (= |c_~#value~0.offset| |~#inc_flag~0.offset|))) (forall ((v_DerPreprocessor_32 (_ BitVec 32)) (v_ArrVal_430 (Array (_ BitVec 32) (_ BitVec 32))) (|~#inc_flag~0.offset| (_ BitVec 32)) (|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (_ BitVec 32))) (or (= |c_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| |~#inc_flag~0.offset|) (bvugt (select (select (store (let ((.cse6 (store |c_#memory_int| |c_~#value~0.base| (store (store .cse5 |~#inc_flag~0.offset| v_DerPreprocessor_32) |c_~#value~0.offset| .cse3)))) (store .cse6 |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (store (select .cse6 |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|) |c_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ bv1 32)))) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_430) |c_~#value~0.base|) |c_~#value~0.offset|) |c_thr1Thread3of3ForFork0_inc_~inc__v~0#1|) (= |c_~#value~0.offset| |~#inc_flag~0.offset|))) (forall ((v_ArrVal_430 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (_ BitVec 32))) (bvugt (select (select (store (let ((.cse7 (store |c_#memory_int| |c_~#value~0.base| .cse8))) (store .cse7 |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (store (select .cse7 |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|) |c_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ bv1 32)))) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_430) |c_~#value~0.base|) |c_~#value~0.offset|) |c_thr1Thread3of3ForFork0_inc_~inc__v~0#1|)) (forall ((v_ArrVal_425 (_ BitVec 32)) (v_ArrVal_430 (Array (_ BitVec 32) (_ BitVec 32))) (|~#inc_flag~0.offset| (_ BitVec 32)) (|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (_ BitVec 32))) (bvugt (select (select (store (let ((.cse10 (store |c_#memory_int| |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (store (select |c_#memory_int| |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|) |~#inc_flag~0.offset| v_ArrVal_425)))) (let ((.cse9 (store (select .cse10 |c_~#value~0.base|) |c_~#value~0.offset| .cse3))) (store (store |c_#memory_int| |c_~#value~0.base| .cse9) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (store (select (store .cse10 |c_~#value~0.base| .cse9) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|) |c_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ bv1 32))))) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_430) |c_~#value~0.base|) |c_~#value~0.offset|) |c_thr1Thread3of3ForFork0_inc_~inc__v~0#1|)) (forall ((v_ArrVal_430 (Array (_ BitVec 32) (_ BitVec 32)))) (bvugt (select (select (store (store |c_#memory_int| |c_~#value~0.base| (store .cse8 |c_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ bv1 32))) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_430) |c_~#value~0.base|) |c_~#value~0.offset|) |c_thr1Thread3of3ForFork0_inc_~inc__v~0#1|))))) (not .cse0))))) is different from false [2023-11-21 19:57:44,023 WARN L854 $PredicateComparison]: unable to prove that (and (forall ((v_ArrVal_422 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_430 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse0 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_422) |c_~#value~0.base|))) (let ((.cse1 (select .cse0 |c_~#value~0.offset|))) (bvugt (select (select (store (store |c_#memory_int| |c_~#value~0.base| (store (store .cse0 |c_~#value~0.offset| (bvadd .cse1 (_ bv1 32))) (_ bv0 32) (_ bv1 32))) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_430) |c_~#value~0.base|) |c_~#value~0.offset|) .cse1)))) (forall ((v_ArrVal_422 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_425 (_ BitVec 32)) (v_ArrVal_430 (Array (_ BitVec 32) (_ BitVec 32))) (|~#inc_flag~0.offset| (_ BitVec 32)) (|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (_ BitVec 32))) (let ((.cse5 (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_422))) (let ((.cse4 (select (select .cse5 |c_~#value~0.base|) |c_~#value~0.offset|))) (bvugt (select (select (store (let ((.cse3 (store .cse5 |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (store (select .cse5 |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|) |~#inc_flag~0.offset| v_ArrVal_425)))) (let ((.cse2 (store (select .cse3 |c_~#value~0.base|) |c_~#value~0.offset| (bvadd .cse4 (_ bv1 32))))) (store (store |c_#memory_int| |c_~#value~0.base| .cse2) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (store (select (store .cse3 |c_~#value~0.base| .cse2) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|) (_ bv0 32) (_ bv1 32))))) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_430) |c_~#value~0.base|) |c_~#value~0.offset|) .cse4)))) (forall ((v_ArrVal_422 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_30 (_ BitVec 32)) (v_ArrVal_430 (Array (_ BitVec 32) (_ BitVec 32))) (|~#inc_flag~0.offset| (_ BitVec 32)) (|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (_ BitVec 32))) (or (= |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| |c_~#value~0.base|) (= |c_~#value~0.offset| |~#inc_flag~0.offset|) (let ((.cse7 (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_422))) (let ((.cse8 (select .cse7 |c_~#value~0.base|))) (let ((.cse9 (select .cse8 |c_~#value~0.offset|))) (bvugt (select (select (store (let ((.cse6 (store (store .cse8 |~#inc_flag~0.offset| v_DerPreprocessor_30) |c_~#value~0.offset| (bvadd .cse9 (_ bv1 32))))) (store (store |c_#memory_int| |c_~#value~0.base| .cse6) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (store (select (store .cse7 |c_~#value~0.base| .cse6) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|) (_ bv0 32) (_ bv1 32)))) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_430) |c_~#value~0.base|) |c_~#value~0.offset|) .cse9)))))) (forall ((v_ArrVal_422 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_32 (_ BitVec 32)) (v_ArrVal_430 (Array (_ BitVec 32) (_ BitVec 32))) (|~#inc_flag~0.offset| (_ BitVec 32)) (|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (_ BitVec 32))) (or (= |~#inc_flag~0.offset| (_ bv0 32)) (let ((.cse11 (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_422))) (let ((.cse12 (select .cse11 |c_~#value~0.base|))) (let ((.cse13 (select .cse12 |c_~#value~0.offset|))) (bvugt (select (select (store (let ((.cse10 (store (store .cse12 |~#inc_flag~0.offset| v_DerPreprocessor_32) |c_~#value~0.offset| (bvadd .cse13 (_ bv1 32))))) (store (store |c_#memory_int| |c_~#value~0.base| .cse10) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (store (select (store .cse11 |c_~#value~0.base| .cse10) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|) (_ bv0 32) (_ bv1 32)))) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_430) |c_~#value~0.base|) |c_~#value~0.offset|) .cse13)))) (= |c_~#value~0.offset| |~#inc_flag~0.offset|))) (forall ((v_ArrVal_422 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_425 (_ BitVec 32)) (v_ArrVal_430 (Array (_ BitVec 32) (_ BitVec 32))) (|~#inc_flag~0.base| (_ BitVec 32)) (|~#inc_flag~0.offset| (_ BitVec 32)) (|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (_ BitVec 32)) (v_DerPreprocessor_31 (Array (_ BitVec 32) (_ BitVec 32)))) (or (let ((.cse17 (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_422))) (let ((.cse16 (select (select .cse17 |c_~#value~0.base|) |c_~#value~0.offset|))) (bvugt (select (select (store (let ((.cse15 (store .cse17 |~#inc_flag~0.base| (store (select .cse17 |~#inc_flag~0.base|) |~#inc_flag~0.offset| v_ArrVal_425)))) (let ((.cse14 (store (select .cse15 |c_~#value~0.base|) |c_~#value~0.offset| (bvadd .cse16 (_ bv1 32))))) (store (store (store |c_#memory_int| |~#inc_flag~0.base| v_DerPreprocessor_31) |c_~#value~0.base| .cse14) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (store (select (store .cse15 |c_~#value~0.base| .cse14) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|) (_ bv0 32) (_ bv1 32))))) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_430) |c_~#value~0.base|) |c_~#value~0.offset|) .cse16))) (= |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| |~#inc_flag~0.base|) (= |~#inc_flag~0.base| |c_~#value~0.base|))) (forall ((v_ArrVal_422 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_430 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (_ BitVec 32))) (let ((.cse19 (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_422))) (let ((.cse20 (select .cse19 |c_~#value~0.base|))) (let ((.cse21 (select .cse20 |c_~#value~0.offset|))) (bvugt (select (select (store (let ((.cse18 (store .cse20 |c_~#value~0.offset| (bvadd .cse21 (_ bv1 32))))) (store (store |c_#memory_int| |c_~#value~0.base| .cse18) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (store (select (store .cse19 |c_~#value~0.base| .cse18) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|) (_ bv0 32) (_ bv1 32)))) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_430) |c_~#value~0.base|) |c_~#value~0.offset|) .cse21)))))) is different from false [2023-11-21 19:57:50,725 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 5 trivial. 7 not checked. [2023-11-21 19:57:50,725 INFO L136 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2023-11-21 19:57:50,725 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1062331754] [2023-11-21 19:57:50,725 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1062331754] provided 0 perfect and 2 imperfect interpolant sequences [2023-11-21 19:57:50,725 INFO L185 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2023-11-21 19:57:50,725 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 7] total 13 [2023-11-21 19:57:50,725 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1733230214] [2023-11-21 19:57:50,726 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2023-11-21 19:57:50,732 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2023-11-21 19:57:50,732 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2023-11-21 19:57:50,734 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2023-11-21 19:57:50,734 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=87, Unknown=12, NotChecked=66, Total=210 [2023-11-21 19:57:50,734 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:57:50,734 INFO L495 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2023-11-21 19:57:50,734 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 14 states have (on average 4.071428571428571) internal successors, (57), 14 states have internal predecessors, (57), 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) [2023-11-21 19:57:50,734 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:57:50,734 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 4 states. [2023-11-21 19:57:50,735 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 4 states. [2023-11-21 19:57:50,735 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 4 states. [2023-11-21 19:57:50,735 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 11 states. [2023-11-21 19:57:50,735 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:57:56,970 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.27s for a HTC check with result INVALID. Formula has sorts [Array, Bool, BitVec], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2023-11-21 19:57:57,288 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse2 (select (select |c_#memory_int| |c_~#value~0.base|) |c_~#value~0.offset|))) (let ((.cse1 (bvadd .cse2 (_ bv1 32))) (.cse4 (= |c_thr1Thread3of3ForFork0_inc_~inc__v~0#1| .cse2))) (and (forall ((|v_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base_17| (_ BitVec 32))) (or (forall ((v_ArrVal_392 (_ BitVec 32)) (v_DerPreprocessor_28 (Array (_ BitVec 32) (_ BitVec 32))) (|~#inc_flag~0.base| (_ BitVec 32)) (|~#inc_flag~0.offset| (_ BitVec 32))) (bvugt (select (select (store (let ((.cse0 (store |c_#memory_int| |~#inc_flag~0.base| (store (select |c_#memory_int| |~#inc_flag~0.base|) |~#inc_flag~0.offset| v_ArrVal_392)))) (store .cse0 |c_~#value~0.base| (store (select .cse0 |c_~#value~0.base|) |c_~#value~0.offset| .cse1))) |v_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base_17| v_DerPreprocessor_28) |c_~#value~0.base|) |c_~#value~0.offset|) .cse2)) (not (= (select |c_#valid| |v_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base_17|) (_ bv0 1))))) (forall ((v_ArrVal_392 (_ BitVec 32)) (v_DerPreprocessor_28 (Array (_ BitVec 32) (_ BitVec 32))) (|~#inc_flag~0.base| (_ BitVec 32)) (|~#inc_flag~0.offset| (_ BitVec 32))) (bvugt (select (select (store (let ((.cse3 (store |c_#memory_int| |~#inc_flag~0.base| (store (select |c_#memory_int| |~#inc_flag~0.base|) |~#inc_flag~0.offset| v_ArrVal_392)))) (store .cse3 |c_~#value~0.base| (store (select .cse3 |c_~#value~0.base|) |c_~#value~0.offset| .cse1))) |c_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_28) |c_~#value~0.base|) |c_~#value~0.offset|) .cse2)) (or .cse4 (forall ((v_DerPreprocessor_27 (Array (_ BitVec 32) (_ BitVec 32)))) (bvugt (select (select (store |c_#memory_int| |c_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_27) |c_~#value~0.base|) |c_~#value~0.offset|) |c_thr1Thread3of3ForFork0_inc_~inc__v~0#1|))) (or (not .cse4) (forall ((v_ArrVal_392 (_ BitVec 32)) (v_DerPreprocessor_28 (Array (_ BitVec 32) (_ BitVec 32))) (|~#inc_flag~0.base| (_ BitVec 32)) (|~#inc_flag~0.offset| (_ BitVec 32))) (bvugt (select (select (store (let ((.cse5 (store |c_#memory_int| |~#inc_flag~0.base| (store (select |c_#memory_int| |~#inc_flag~0.base|) |~#inc_flag~0.offset| v_ArrVal_392)))) (store .cse5 |c_~#value~0.base| (store (select .cse5 |c_~#value~0.base|) |c_~#value~0.offset| (bvadd |c_thr1Thread3of3ForFork0_inc_~inc__v~0#1| (_ bv1 32))))) |c_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_28) |c_~#value~0.base|) |c_~#value~0.offset|) |c_thr1Thread3of3ForFork0_inc_~inc__v~0#1|))) (forall ((v_ArrVal_387 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_392 (_ BitVec 32)) (v_ArrVal_386 (_ BitVec 1)) (v_DerPreprocessor_28 (Array (_ BitVec 32) (_ BitVec 32))) (|v_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base_17| (_ BitVec 32)) (|~#inc_flag~0.base| (_ BitVec 32)) (|~#inc_flag~0.offset| (_ BitVec 32)) (|v_thr1Thread2of3ForFork0_dec_~#dec__casret~0#1.base_22| (_ BitVec 32))) (or (not (= (select |c_#valid| |v_thr1Thread2of3ForFork0_dec_~#dec__casret~0#1.base_22|) (_ bv0 1))) (not (= (_ bv0 1) (select (store |c_#valid| |v_thr1Thread2of3ForFork0_dec_~#dec__casret~0#1.base_22| v_ArrVal_386) |v_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base_17|))) (let ((.cse8 (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_387))) (let ((.cse7 (select (select .cse8 |c_~#value~0.base|) |c_~#value~0.offset|))) (bvugt (select (select (store (let ((.cse6 (store .cse8 |~#inc_flag~0.base| (store (select .cse8 |~#inc_flag~0.base|) |~#inc_flag~0.offset| v_ArrVal_392)))) (store .cse6 |c_~#value~0.base| (store (select .cse6 |c_~#value~0.base|) |c_~#value~0.offset| (bvadd .cse7 (_ bv1 32))))) |v_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base_17| v_DerPreprocessor_28) |c_~#value~0.base|) |c_~#value~0.offset|) .cse7)))))))) is different from false [2023-11-21 19:57:59,674 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:57:59,674 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2023-11-21 19:57:59,675 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2023-11-21 19:57:59,675 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2023-11-21 19:57:59,675 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2023-11-21 19:57:59,676 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2023-11-21 19:57:59,679 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (24)] Forceful destruction successful, exit code 0 [2023-11-21 19:57:59,876 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 24 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2023-11-21 19:57:59,876 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting thr1Err0ASSERT_VIOLATIONERROR_FUNCTION === [thr1Err1ASSERT_VIOLATIONERROR_FUNCTION, thr1Err0ASSERT_VIOLATIONERROR_FUNCTION] === [2023-11-21 19:57:59,877 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2023-11-21 19:57:59,877 INFO L85 PathProgramCache]: Analyzing trace with hash 631326540, now seen corresponding path program 1 times [2023-11-21 19:57:59,877 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2023-11-21 19:57:59,877 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [683511570] [2023-11-21 19:57:59,877 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-11-21 19:57:59,877 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2023-11-21 19:57:59,877 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat [2023-11-21 19:57:59,878 INFO L229 MonitoredProcess]: Starting monitored process 25 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2023-11-21 19:57:59,879 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (25)] Waiting until timeout for monitored process [2023-11-21 19:58:00,023 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-21 19:58:00,026 INFO L262 TraceCheckSpWp]: Trace formula consists of 152 conjuncts, 6 conjunts are in the unsatisfiable core [2023-11-21 19:58:00,027 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2023-11-21 19:58:00,140 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 14 treesize of output 8 [2023-11-21 19:58:00,161 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 7 [2023-11-21 19:58:00,204 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 0 case distinctions, treesize of input 9 treesize of output 12 [2023-11-21 19:58:00,253 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 2 stores, 1 select indices, 1 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 34 treesize of output 42 [2023-11-21 19:58:00,284 INFO L190 IndexEqualityManager]: detected not equals via solver [2023-11-21 19:58:00,364 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 41 treesize of output 17 [2023-11-21 19:58:00,396 INFO L190 IndexEqualityManager]: detected not equals via solver [2023-11-21 19:58:00,397 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 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 8 treesize of output 1 [2023-11-21 19:58:00,419 INFO L190 IndexEqualityManager]: detected not equals via solver [2023-11-21 19:58:00,432 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 8 [2023-11-21 19:58:00,467 INFO L190 IndexEqualityManager]: detected not equals via solver [2023-11-21 19:58:00,467 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 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 8 treesize of output 1 [2023-11-21 19:58:00,491 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 2 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 29 treesize of output 37 [2023-11-21 19:58:00,514 INFO L190 IndexEqualityManager]: detected not equals via solver [2023-11-21 19:58:00,552 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 36 treesize of output 17 [2023-11-21 19:58:00,602 INFO L190 IndexEqualityManager]: detected not equals via solver [2023-11-21 19:58:00,602 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 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 8 treesize of output 1 [2023-11-21 19:58:00,660 INFO L190 IndexEqualityManager]: detected not equals via solver [2023-11-21 19:58:00,660 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 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 15 treesize of output 1 [2023-11-21 19:58:00,838 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 11 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2023-11-21 19:58:00,838 INFO L323 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2023-11-21 19:58:00,838 INFO L136 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2023-11-21 19:58:00,838 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [683511570] [2023-11-21 19:58:00,838 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [683511570] provided 1 perfect and 0 imperfect interpolant sequences [2023-11-21 19:58:00,838 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2023-11-21 19:58:00,838 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2023-11-21 19:58:00,839 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1290003395] [2023-11-21 19:58:00,839 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2023-11-21 19:58:00,841 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2023-11-21 19:58:00,841 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2023-11-21 19:58:00,841 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2023-11-21 19:58:00,842 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2023-11-21 19:58:00,842 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:58:00,842 INFO L495 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2023-11-21 19:58:00,842 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 6.6) internal successors, (33), 5 states have internal predecessors, (33), 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) [2023-11-21 19:58:00,842 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:58:00,842 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 4 states. [2023-11-21 19:58:00,842 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 4 states. [2023-11-21 19:58:00,842 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 4 states. [2023-11-21 19:58:00,842 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 12 states. [2023-11-21 19:58:00,842 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 7 states. [2023-11-21 19:58:00,842 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:58:03,844 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:58:03,845 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2023-11-21 19:58:03,845 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2023-11-21 19:58:03,845 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2023-11-21 19:58:03,848 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2023-11-21 19:58:03,848 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2023-11-21 19:58:03,848 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2023-11-21 19:58:03,851 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (25)] Forceful destruction successful, exit code 0 [2023-11-21 19:58:04,048 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 25 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2023-11-21 19:58:04,048 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting thr1Err0ASSERT_VIOLATIONERROR_FUNCTION === [thr1Err1ASSERT_VIOLATIONERROR_FUNCTION, thr1Err0ASSERT_VIOLATIONERROR_FUNCTION] === [2023-11-21 19:58:04,049 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2023-11-21 19:58:04,049 INFO L85 PathProgramCache]: Analyzing trace with hash 1794706500, now seen corresponding path program 2 times [2023-11-21 19:58:04,049 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2023-11-21 19:58:04,049 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1867586963] [2023-11-21 19:58:04,049 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2023-11-21 19:58:04,049 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2023-11-21 19:58:04,049 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat [2023-11-21 19:58:04,050 INFO L229 MonitoredProcess]: Starting monitored process 26 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2023-11-21 19:58:04,051 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (26)] Waiting until timeout for monitored process [2023-11-21 19:58:04,189 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2023-11-21 19:58:04,189 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2023-11-21 19:58:04,192 INFO L262 TraceCheckSpWp]: Trace formula consists of 152 conjuncts, 26 conjunts are in the unsatisfiable core [2023-11-21 19:58:04,195 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2023-11-21 19:58:04,299 INFO L349 Elim1Store]: treesize reduction 6, result has 40.0 percent of original size [2023-11-21 19:58:04,300 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 13 treesize of output 13 [2023-11-21 19:58:04,481 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 [2023-11-21 19:58:05,107 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 [2023-11-21 19:58:05,700 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 [2023-11-21 19:58:06,739 INFO L349 Elim1Store]: treesize reduction 25, result has 21.9 percent of original size [2023-11-21 19:58:06,739 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 2 case distinctions, treesize of input 35 treesize of output 18 [2023-11-21 19:58:07,195 INFO L349 Elim1Store]: treesize reduction 41, result has 14.6 percent of original size [2023-11-21 19:58:07,196 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 3 case distinctions, treesize of input 49 treesize of output 18 [2023-11-21 19:58:07,460 INFO L349 Elim1Store]: treesize reduction 17, result has 29.2 percent of original size [2023-11-21 19:58:07,461 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 2 case distinctions, treesize of input 22 treesize of output 18 [2023-11-21 19:58:07,904 INFO L349 Elim1Store]: treesize reduction 52, result has 23.5 percent of original size [2023-11-21 19:58:07,904 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 3 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 4 new quantified variables, introduced 4 case distinctions, treesize of input 59 treesize of output 65 [2023-11-21 19:58:07,946 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 30 treesize of output 1 [2023-11-21 19:58:08,345 INFO L349 Elim1Store]: treesize reduction 24, result has 36.8 percent of original size [2023-11-21 19:58:08,345 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 3 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 4 new quantified variables, introduced 2 case distinctions, treesize of input 64 treesize of output 69 [2023-11-21 19:58:08,454 INFO L349 Elim1Store]: treesize reduction 11, result has 8.3 percent of original size [2023-11-21 19:58:08,454 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 2 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 2 case distinctions, treesize of input 70 treesize of output 67 [2023-11-21 19:58:08,504 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 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 26 treesize of output 22 [2023-11-21 19:58:08,541 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 30 treesize of output 1 [2023-11-21 19:58:09,777 INFO L349 Elim1Store]: treesize reduction 21, result has 30.0 percent of original size [2023-11-21 19:58:09,778 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 423 treesize of output 385 [2023-11-21 19:58:09,813 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 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 0 case distinctions, treesize of input 245 treesize of output 246 [2023-11-21 19:58:10,040 INFO L349 Elim1Store]: treesize reduction 11, result has 45.0 percent of original size [2023-11-21 19:58:10,040 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 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 240 treesize of output 250 [2023-11-21 19:58:10,134 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 [2023-11-21 19:58:10,756 INFO L349 Elim1Store]: treesize reduction 24, result has 38.5 percent of original size [2023-11-21 19:58:10,757 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 3 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 4 new quantified variables, introduced 3 case distinctions, treesize of input 152 treesize of output 190 [2023-11-21 19:58:11,044 INFO L173 IndexEqualityManager]: detected equality via solver [2023-11-21 19:58:11,071 INFO L349 Elim1Store]: treesize reduction 18, result has 5.3 percent of original size [2023-11-21 19:58:11,071 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 3 case distinctions, treesize of input 22 treesize of output 7 [2023-11-21 19:58:11,287 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 5 treesize of output 3 [2023-11-21 19:58:11,472 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 5 treesize of output 3 [2023-11-21 19:58:11,838 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 5 treesize of output 3 [2023-11-21 19:58:11,887 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 18 treesize of output 16 [2023-11-21 19:58:12,063 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2023-11-21 19:58:12,063 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 15 treesize of output 19 [2023-11-21 19:58:15,836 INFO L349 Elim1Store]: treesize reduction 25, result has 32.4 percent of original size [2023-11-21 19:58:15,836 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 2 stores, 3 select indices, 3 select index equivalence classes, 2 disjoint index pairs (out of 3 index pairs), introduced 4 new quantified variables, introduced 3 case distinctions, treesize of input 81 treesize of output 86 [2023-11-21 19:58:15,884 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 1 [2023-11-21 19:58:17,209 INFO L349 Elim1Store]: treesize reduction 37, result has 37.3 percent of original size [2023-11-21 19:58:17,210 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 2 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 4 case distinctions, treesize of input 76 treesize of output 80 [2023-11-21 19:58:17,692 INFO L349 Elim1Store]: treesize reduction 32, result has 49.2 percent of original size [2023-11-21 19:58:17,692 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 3 case distinctions, treesize of input 47 treesize of output 61 [2023-11-21 19:58:19,300 INFO L349 Elim1Store]: treesize reduction 203, result has 20.4 percent of original size [2023-11-21 19:58:19,301 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 4 select indices, 4 select index equivalence classes, 0 disjoint index pairs (out of 6 index pairs), introduced 5 new quantified variables, introduced 10 case distinctions, treesize of input 71 treesize of output 94 [2023-11-21 19:58:19,326 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 0 case distinctions, treesize of input 69 treesize of output 56 [2023-11-21 19:58:19,438 INFO L349 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2023-11-21 19:58:19,439 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 22 treesize of output 27 [2023-11-21 19:58:20,045 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 0 proven. 11 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2023-11-21 19:58:20,045 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2023-11-21 19:58:20,847 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse3 (= |c_thr1Thread3of3ForFork0_inc_~inc__v~0#1| (select (select |c_#memory_int| |c_~#value~0.base|) |c_~#value~0.offset|)))) (and (or (let ((.cse1 (= |c_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| |c_~#inc_flag~0.base|)) (.cse0 (select |c_#memory_int| |c_~#inc_flag~0.base|)) (.cse2 (= |c_~#inc_flag~0.base| |c_~#value~0.base|))) (and (or (forall ((v_ArrVal_517 (_ BitVec 32)) (v_DerPreprocessor_50 (Array (_ BitVec 32) (_ BitVec 32)))) (bvugt (select (select (store (store |c_#memory_int| |c_~#value~0.base| (store (select (store |c_#memory_int| |c_~#inc_flag~0.base| (store .cse0 |c_~#inc_flag~0.offset| v_ArrVal_517)) |c_~#value~0.base|) |c_~#value~0.offset| |c_thr1Thread3of3ForFork0_inc_~inc__vn~0#1|)) |c_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_50) |c_~#value~0.base|) |c_~#value~0.offset|) |c_thr1Thread3of3ForFork0_inc_~inc__v~0#1|)) (not .cse1)) (or (forall ((v_ArrVal_517 (_ BitVec 32)) (v_DerPreprocessor_47 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_48 (Array (_ BitVec 32) (_ BitVec 32)))) (bvugt (select (select (store (store (store |c_#memory_int| |c_~#inc_flag~0.base| v_DerPreprocessor_47) |c_~#value~0.base| (store (select (store |c_#memory_int| |c_~#inc_flag~0.base| (store .cse0 |c_~#inc_flag~0.offset| v_ArrVal_517)) |c_~#value~0.base|) |c_~#value~0.offset| |c_thr1Thread3of3ForFork0_inc_~inc__vn~0#1|)) |c_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_48) |c_~#value~0.base|) |c_~#value~0.offset|) |c_thr1Thread3of3ForFork0_inc_~inc__v~0#1|)) .cse1 .cse2) (or (forall ((v_ArrVal_517 (_ BitVec 32)) (v_DerPreprocessor_49 (Array (_ BitVec 32) (_ BitVec 32)))) (bvugt (select (select (store (store |c_#memory_int| |c_~#value~0.base| (store (select (store |c_#memory_int| |c_~#inc_flag~0.base| (store .cse0 |c_~#inc_flag~0.offset| v_ArrVal_517)) |c_~#value~0.base|) |c_~#value~0.offset| |c_thr1Thread3of3ForFork0_inc_~inc__vn~0#1|)) |c_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_49) |c_~#value~0.base|) |c_~#value~0.offset|) |c_thr1Thread3of3ForFork0_inc_~inc__v~0#1|)) (not .cse2)))) (not .cse3)) (or .cse3 (forall ((v_DerPreprocessor_46 (Array (_ BitVec 32) (_ BitVec 32)))) (bvugt (select (select (store |c_#memory_int| |c_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_46) |c_~#value~0.base|) |c_~#value~0.offset|) |c_thr1Thread3of3ForFork0_inc_~inc__v~0#1|))))) is different from false [2023-11-21 19:58:24,798 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 26 treesize of output 24 [2023-11-21 19:58:25,101 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 26 treesize of output 24 [2023-11-21 19:58:25,474 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse10 (select |c_#memory_int| |c_~#value~0.base|))) (let ((.cse0 (= |c_thr1Thread3of3ForFork0_inc_~inc__v~0#1| (select .cse10 |c_~#value~0.offset|)))) (and (or .cse0 (and (forall ((|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ BitVec 32)) (v_ArrVal_517 (_ BitVec 32)) (v_DerPreprocessor_49 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_52 (Array (_ BitVec 32) (_ BitVec 32))) (|~#inc_flag~0.offset| (_ BitVec 32)) (|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (_ BitVec 32)) (v_ArrVal_515 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse1 (store (store |c_#memory_int| |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_52) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_515))) (or (not (= (select (select .cse1 |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv0 32))) (let ((.cse2 (select .cse1 |c_~#value~0.base|))) (let ((.cse3 (select .cse2 |c_~#value~0.offset|))) (bvugt (select (select (store (store (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_515) |c_~#value~0.base| (store (store .cse2 |~#inc_flag~0.offset| v_ArrVal_517) |c_~#value~0.offset| (bvadd (_ bv1 32) .cse3))) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_49) |c_~#value~0.base|) |c_~#value~0.offset|) .cse3)))))) (forall ((|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ BitVec 32)) (v_prenex_84 (_ BitVec 32)) (v_DerPreprocessor_50 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_85 (Array (_ BitVec 32) (_ BitVec 32))) (|~#inc_flag~0.base| (_ BitVec 32)) (v_DerPreprocessor_52 (Array (_ BitVec 32) (_ BitVec 32))) (|~#inc_flag~0.offset| (_ BitVec 32))) (let ((.cse7 (store (store |c_#memory_int| |~#inc_flag~0.base| v_DerPreprocessor_52) |c_ULTIMATE.start_main_~#t~0#1.base| v_prenex_85))) (let ((.cse5 (select .cse7 |~#inc_flag~0.base|))) (or (let ((.cse6 (select (select .cse7 |c_~#value~0.base|) |c_~#value~0.offset|))) (bvugt (select (select (store (let ((.cse4 (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_prenex_85))) (store .cse4 |c_~#value~0.base| (store (select (store .cse4 |~#inc_flag~0.base| (store .cse5 |~#inc_flag~0.offset| v_prenex_84)) |c_~#value~0.base|) |c_~#value~0.offset| (bvadd (_ bv1 32) .cse6)))) |~#inc_flag~0.base| v_DerPreprocessor_50) |c_~#value~0.base|) |c_~#value~0.offset|) .cse6)) (not (= (select .cse5 |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv0 32))))))) (forall ((|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ BitVec 32)) (v_DerPreprocessor_47 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_86 (_ BitVec 32)) (v_DerPreprocessor_48 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_87 (Array (_ BitVec 32) (_ BitVec 32))) (|~#inc_flag~0.base| (_ BitVec 32)) (|~#inc_flag~0.offset| (_ BitVec 32)) (v_DerPreprocessor_52 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (_ BitVec 32))) (let ((.cse8 (store (store |c_#memory_int| |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_52) |c_ULTIMATE.start_main_~#t~0#1.base| v_prenex_87))) (or (= |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| |~#inc_flag~0.base|) (not (= (select (select .cse8 |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv0 32))) (= |~#inc_flag~0.base| |c_~#value~0.base|) (let ((.cse9 (select (select .cse8 |c_~#value~0.base|) |c_~#value~0.offset|))) (bvugt (select (select (store (store (store (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_prenex_87) |~#inc_flag~0.base| v_DerPreprocessor_47) |c_~#value~0.base| (store (select (store .cse8 |~#inc_flag~0.base| (store (select .cse8 |~#inc_flag~0.base|) |~#inc_flag~0.offset| v_prenex_86)) |c_~#value~0.base|) |c_~#value~0.offset| (bvadd .cse9 (_ bv1 32)))) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_48) |c_~#value~0.base|) |c_~#value~0.offset|) .cse9))))))) (or (and (forall ((|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ BitVec 32)) (v_ArrVal_511 (_ BitVec 32)) (|~#inc_flag~0.offset| (_ BitVec 32)) (v_ArrVal_515 (Array (_ BitVec 32) (_ BitVec 32)))) (not (= (select (select (store (store |c_#memory_int| |c_~#value~0.base| (store (store (store .cse10 |~#inc_flag~0.offset| v_ArrVal_511) |c_~#value~0.offset| |c_thr1Thread3of3ForFork0_inc_~inc__vn~0#1|) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ bv1 32))) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_515) |c_~#value~0.base|) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv0 32)))) (forall ((|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ BitVec 32)) (v_ArrVal_517 (_ BitVec 32)) (v_ArrVal_511 (_ BitVec 32)) (v_DerPreprocessor_50 (Array (_ BitVec 32) (_ BitVec 32))) (|~#inc_flag~0.offset| (_ BitVec 32)) (|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (_ BitVec 32)) (v_ArrVal_515 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse15 (store |c_#memory_int| |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (store (select |c_#memory_int| |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|) |~#inc_flag~0.offset| v_ArrVal_511)))) (let ((.cse16 (store (select .cse15 |c_~#value~0.base|) |c_~#value~0.offset| |c_thr1Thread3of3ForFork0_inc_~inc__vn~0#1|))) (let ((.cse12 (store |c_#memory_int| |c_~#value~0.base| .cse16))) (let ((.cse14 (store (store .cse12 |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (store (select (store .cse15 |c_~#value~0.base| .cse16) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ bv1 32))) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_515))) (let ((.cse11 (select .cse14 |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|))) (or (not (= (select .cse11 |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv0 32))) (let ((.cse13 (select (select .cse14 |c_~#value~0.base|) |c_~#value~0.offset|))) (bvugt (select (select (store (store (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_515) |c_~#value~0.base| (store (select (store (store .cse12 |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_515) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (store .cse11 |~#inc_flag~0.offset| v_ArrVal_517)) |c_~#value~0.base|) |c_~#value~0.offset| (bvadd .cse13 (_ bv1 32)))) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_50) |c_~#value~0.base|) |c_~#value~0.offset|) .cse13))))))))) (forall ((|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ BitVec 32)) (v_ArrVal_517 (_ BitVec 32)) (v_DerPreprocessor_47 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_48 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_511 (_ BitVec 32)) (|~#inc_flag~0.base| (_ BitVec 32)) (|~#inc_flag~0.offset| (_ BitVec 32)) (v_DerPreprocessor_51 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (_ BitVec 32)) (v_ArrVal_515 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse21 (store |c_#memory_int| |~#inc_flag~0.base| (store (select |c_#memory_int| |~#inc_flag~0.base|) |~#inc_flag~0.offset| v_ArrVal_511)))) (let ((.cse17 (store (select .cse21 |c_~#value~0.base|) |c_~#value~0.offset| |c_thr1Thread3of3ForFork0_inc_~inc__vn~0#1|))) (let ((.cse18 (store (select (store .cse21 |c_~#value~0.base| .cse17) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ bv1 32)))) (let ((.cse19 (store (store (store (store |c_#memory_int| |~#inc_flag~0.base| v_DerPreprocessor_51) |c_~#value~0.base| .cse17) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| .cse18) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_515))) (or (let ((.cse20 (select (select .cse19 |c_~#value~0.base|) |c_~#value~0.offset|))) (bvugt (select (select (store (store (store (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_515) |~#inc_flag~0.base| v_DerPreprocessor_47) |c_~#value~0.base| (store (select (store (store (store (store |c_#memory_int| |c_~#value~0.base| .cse17) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| .cse18) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_515) |~#inc_flag~0.base| (store (select .cse19 |~#inc_flag~0.base|) |~#inc_flag~0.offset| v_ArrVal_517)) |c_~#value~0.base|) |c_~#value~0.offset| (bvadd (_ bv1 32) .cse20))) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_48) |c_~#value~0.base|) |c_~#value~0.offset|) .cse20)) (= |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| |~#inc_flag~0.base|) (not (= (select (select .cse19 |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv0 32))) (= |~#inc_flag~0.base| |c_~#value~0.base|))))))) (forall ((|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ BitVec 32)) (v_ArrVal_517 (_ BitVec 32)) (v_DerPreprocessor_49 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_511 (_ BitVec 32)) (|~#inc_flag~0.offset| (_ BitVec 32)) (|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (_ BitVec 32)) (v_ArrVal_515 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse22 (store (let ((.cse25 (store |c_#memory_int| |c_~#value~0.base| (store (store .cse10 |~#inc_flag~0.offset| v_ArrVal_511) |c_~#value~0.offset| |c_thr1Thread3of3ForFork0_inc_~inc__vn~0#1|)))) (store .cse25 |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (store (select .cse25 |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ bv1 32)))) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_515))) (or (not (= (select (select .cse22 |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv0 32))) (let ((.cse23 (select .cse22 |c_~#value~0.base|))) (let ((.cse24 (select .cse23 |c_~#value~0.offset|))) (bvugt (select (select (store (store (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_515) |c_~#value~0.base| (store (store .cse23 |~#inc_flag~0.offset| v_ArrVal_517) |c_~#value~0.offset| (bvadd .cse24 (_ bv1 32)))) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_49) |c_~#value~0.base|) |c_~#value~0.offset|) .cse24))))))) (not .cse0))))) is different from false [2023-11-21 19:58:41,554 WARN L854 $PredicateComparison]: unable to prove that (and (forall ((|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ BitVec 32)) (v_ArrVal_517 (_ BitVec 32)) (v_ArrVal_511 (_ BitVec 32)) (v_ArrVal_507 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_50 (Array (_ BitVec 32) (_ BitVec 32))) (|~#inc_flag~0.offset| (_ BitVec 32)) (|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (_ BitVec 32)) (v_ArrVal_515 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse6 (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_507))) (let ((.cse4 (store .cse6 |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (store (select .cse6 |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|) |~#inc_flag~0.offset| v_ArrVal_511)))) (let ((.cse5 (store (select .cse4 |c_~#value~0.base|) |c_~#value~0.offset| (bvadd (select (select .cse6 |c_~#value~0.base|) |c_~#value~0.offset|) (_ bv1 32))))) (let ((.cse0 (store |c_#memory_int| |c_~#value~0.base| .cse5))) (let ((.cse3 (store (store .cse0 |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (store (select (store .cse4 |c_~#value~0.base| .cse5) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ bv1 32))) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_515))) (let ((.cse1 (select .cse3 |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|))) (or (let ((.cse2 (select (select .cse3 |c_~#value~0.base|) |c_~#value~0.offset|))) (bvugt (select (select (store (store (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_515) |c_~#value~0.base| (store (select (store (store .cse0 |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_515) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (store .cse1 |~#inc_flag~0.offset| v_ArrVal_517)) |c_~#value~0.base|) |c_~#value~0.offset| (bvadd .cse2 (_ bv1 32)))) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_50) |c_~#value~0.base|) |c_~#value~0.offset|) .cse2)) (not (= (select .cse1 |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv0 32))))))))))) (forall ((|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ BitVec 32)) (v_ArrVal_517 (_ BitVec 32)) (v_DerPreprocessor_49 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_511 (_ BitVec 32)) (v_ArrVal_507 (Array (_ BitVec 32) (_ BitVec 32))) (|~#inc_flag~0.offset| (_ BitVec 32)) (|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (_ BitVec 32)) (v_ArrVal_515 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse9 (store (let ((.cse11 (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_507))) (let ((.cse10 (let ((.cse12 (select .cse11 |c_~#value~0.base|))) (store (store .cse12 |~#inc_flag~0.offset| v_ArrVal_511) |c_~#value~0.offset| (bvadd (select .cse12 |c_~#value~0.offset|) (_ bv1 32)))))) (store (store |c_#memory_int| |c_~#value~0.base| .cse10) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (store (select (store .cse11 |c_~#value~0.base| .cse10) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ bv1 32))))) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_515))) (or (let ((.cse7 (select .cse9 |c_~#value~0.base|))) (let ((.cse8 (select .cse7 |c_~#value~0.offset|))) (bvugt (select (select (store (store (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_515) |c_~#value~0.base| (store (store .cse7 |~#inc_flag~0.offset| v_ArrVal_517) |c_~#value~0.offset| (bvadd .cse8 (_ bv1 32)))) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_49) |c_~#value~0.base|) |c_~#value~0.offset|) .cse8))) (not (= (select (select .cse9 |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv0 32)))))) (forall ((|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ BitVec 32)) (v_ArrVal_511 (_ BitVec 32)) (v_ArrVal_507 (Array (_ BitVec 32) (_ BitVec 32))) (|~#inc_flag~0.offset| (_ BitVec 32)) (v_ArrVal_515 (Array (_ BitVec 32) (_ BitVec 32)))) (not (= (select (select (store (store |c_#memory_int| |c_~#value~0.base| (store (let ((.cse13 (select (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_507) |c_~#value~0.base|))) (store (store .cse13 |~#inc_flag~0.offset| v_ArrVal_511) |c_~#value~0.offset| (bvadd (select .cse13 |c_~#value~0.offset|) (_ bv1 32)))) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ bv1 32))) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_515) |c_~#value~0.base|) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv0 32)))) (forall ((|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ BitVec 32)) (v_ArrVal_517 (_ BitVec 32)) (v_DerPreprocessor_47 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_48 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_511 (_ BitVec 32)) (v_ArrVal_507 (Array (_ BitVec 32) (_ BitVec 32))) (|~#inc_flag~0.base| (_ BitVec 32)) (|~#inc_flag~0.offset| (_ BitVec 32)) (v_DerPreprocessor_51 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (_ BitVec 32)) (v_ArrVal_515 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse19 (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_507))) (let ((.cse18 (store .cse19 |~#inc_flag~0.base| (store (select .cse19 |~#inc_flag~0.base|) |~#inc_flag~0.offset| v_ArrVal_511)))) (let ((.cse14 (store (select .cse18 |c_~#value~0.base|) |c_~#value~0.offset| (bvadd (select (select .cse19 |c_~#value~0.base|) |c_~#value~0.offset|) (_ bv1 32))))) (let ((.cse15 (store (select (store .cse18 |c_~#value~0.base| .cse14) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ bv1 32)))) (let ((.cse16 (store (store (store (store |c_#memory_int| |~#inc_flag~0.base| v_DerPreprocessor_51) |c_~#value~0.base| .cse14) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| .cse15) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_515))) (or (= |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| |~#inc_flag~0.base|) (= |~#inc_flag~0.base| |c_~#value~0.base|) (let ((.cse17 (select (select .cse16 |c_~#value~0.base|) |c_~#value~0.offset|))) (bvugt (select (select (store (store (store (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_515) |~#inc_flag~0.base| v_DerPreprocessor_47) |c_~#value~0.base| (store (select (store (store (store (store |c_#memory_int| |c_~#value~0.base| .cse14) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| .cse15) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_515) |~#inc_flag~0.base| (store (select .cse16 |~#inc_flag~0.base|) |~#inc_flag~0.offset| v_ArrVal_517)) |c_~#value~0.base|) |c_~#value~0.offset| (bvadd (_ bv1 32) .cse17))) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_48) |c_~#value~0.base|) |c_~#value~0.offset|) .cse17)) (not (= (select (select .cse16 |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv0 32))))))))))) is different from false [2023-11-21 19:58:47,291 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 5 trivial. 10 not checked. [2023-11-21 19:58:47,292 INFO L136 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2023-11-21 19:58:47,292 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1867586963] [2023-11-21 19:58:47,292 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1867586963] provided 0 perfect and 2 imperfect interpolant sequences [2023-11-21 19:58:47,292 INFO L185 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2023-11-21 19:58:47,292 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 11] total 21 [2023-11-21 19:58:47,292 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1891064024] [2023-11-21 19:58:47,292 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2023-11-21 19:58:47,293 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 23 states [2023-11-21 19:58:47,293 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2023-11-21 19:58:47,293 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2023-11-21 19:58:47,293 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=77, Invalid=300, Unknown=15, NotChecked=114, Total=506 [2023-11-21 19:58:47,293 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:58:47,293 INFO L495 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2023-11-21 19:58:47,294 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 23 states, 22 states have (on average 3.090909090909091) internal successors, (68), 22 states have internal predecessors, (68), 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) [2023-11-21 19:58:47,294 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:58:47,294 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 4 states. [2023-11-21 19:58:47,294 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 4 states. [2023-11-21 19:58:47,294 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 4 states. [2023-11-21 19:58:47,294 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 12 states. [2023-11-21 19:58:47,294 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 7 states. [2023-11-21 19:58:47,294 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 6 states. [2023-11-21 19:58:47,294 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2023-11-21 19:59:09,981 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse0 (select |c_#memory_int| |c_~#value~0.base|))) (let ((.cse17 (select .cse0 |c_~#value~0.offset|))) (let ((.cse1 (bvadd .cse17 (_ bv1 32)))) (and (forall ((|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ BitVec 32)) (v_ArrVal_511 (_ BitVec 32)) (|~#inc_flag~0.offset| (_ BitVec 32)) (v_ArrVal_515 (Array (_ BitVec 32) (_ BitVec 32)))) (not (= (_ bv0 32) (select (select (store (store |c_#memory_int| |c_~#value~0.base| (store (store (store .cse0 |~#inc_flag~0.offset| v_ArrVal_511) |c_~#value~0.offset| .cse1) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ bv1 32))) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_515) |c_~#value~0.base|) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset|)))) (forall ((|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ BitVec 32)) (v_ArrVal_517 (_ BitVec 32)) (v_DerPreprocessor_47 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_48 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_511 (_ BitVec 32)) (|~#inc_flag~0.base| (_ BitVec 32)) (|~#inc_flag~0.offset| (_ BitVec 32)) (v_DerPreprocessor_51 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (_ BitVec 32)) (v_ArrVal_515 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse6 (store |c_#memory_int| |~#inc_flag~0.base| (store (select |c_#memory_int| |~#inc_flag~0.base|) |~#inc_flag~0.offset| v_ArrVal_511)))) (let ((.cse3 (store (select .cse6 |c_~#value~0.base|) |c_~#value~0.offset| .cse1))) (let ((.cse4 (store (select (store .cse6 |c_~#value~0.base| .cse3) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ bv1 32)))) (let ((.cse2 (store (store (store (store |c_#memory_int| |~#inc_flag~0.base| v_DerPreprocessor_51) |c_~#value~0.base| .cse3) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| .cse4) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_515))) (or (= |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| |~#inc_flag~0.base|) (not (= (select (select .cse2 |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv0 32))) (let ((.cse5 (select (select .cse2 |c_~#value~0.base|) |c_~#value~0.offset|))) (bvugt (select (select (store (store (store (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_515) |~#inc_flag~0.base| v_DerPreprocessor_47) |c_~#value~0.base| (store (select (store (store (store (store |c_#memory_int| |c_~#value~0.base| .cse3) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| .cse4) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_515) |~#inc_flag~0.base| (store (select .cse2 |~#inc_flag~0.base|) |~#inc_flag~0.offset| v_ArrVal_517)) |c_~#value~0.base|) |c_~#value~0.offset| (bvadd .cse5 (_ bv1 32)))) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_48) |c_~#value~0.base|) |c_~#value~0.offset|) .cse5)) (= |~#inc_flag~0.base| |c_~#value~0.base|))))))) (forall ((|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ BitVec 32)) (v_ArrVal_517 (_ BitVec 32)) (v_ArrVal_511 (_ BitVec 32)) (v_DerPreprocessor_50 (Array (_ BitVec 32) (_ BitVec 32))) (|~#inc_flag~0.offset| (_ BitVec 32)) (|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (_ BitVec 32)) (v_ArrVal_515 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse11 (store |c_#memory_int| |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (store (select |c_#memory_int| |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|) |~#inc_flag~0.offset| v_ArrVal_511)))) (let ((.cse12 (store (select .cse11 |c_~#value~0.base|) |c_~#value~0.offset| .cse1))) (let ((.cse7 (store |c_#memory_int| |c_~#value~0.base| .cse12))) (let ((.cse10 (store (store .cse7 |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (store (select (store .cse11 |c_~#value~0.base| .cse12) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ bv1 32))) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_515))) (let ((.cse8 (select .cse10 |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|))) (or (let ((.cse9 (select (select .cse10 |c_~#value~0.base|) |c_~#value~0.offset|))) (bvugt (select (select (store (store (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_515) |c_~#value~0.base| (store (select (store (store .cse7 |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_515) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (store .cse8 |~#inc_flag~0.offset| v_ArrVal_517)) |c_~#value~0.base|) |c_~#value~0.offset| (bvadd .cse9 (_ bv1 32)))) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_50) |c_~#value~0.base|) |c_~#value~0.offset|) .cse9)) (not (= (select .cse8 |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv0 32)))))))))) (forall ((|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ BitVec 32)) (v_ArrVal_517 (_ BitVec 32)) (v_DerPreprocessor_49 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_511 (_ BitVec 32)) (|~#inc_flag~0.offset| (_ BitVec 32)) (|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (_ BitVec 32)) (v_ArrVal_515 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse15 (store (let ((.cse16 (store |c_#memory_int| |c_~#value~0.base| (store (store .cse0 |~#inc_flag~0.offset| v_ArrVal_511) |c_~#value~0.offset| .cse1)))) (store .cse16 |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (store (select .cse16 |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ bv1 32)))) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_515))) (or (let ((.cse13 (select .cse15 |c_~#value~0.base|))) (let ((.cse14 (select .cse13 |c_~#value~0.offset|))) (bvugt (select (select (store (store (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_515) |c_~#value~0.base| (store (store .cse13 |~#inc_flag~0.offset| v_ArrVal_517) |c_~#value~0.offset| (bvadd .cse14 (_ bv1 32)))) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_49) |c_~#value~0.base|) |c_~#value~0.offset|) .cse14))) (not (= (select (select .cse15 |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv0 32)))))) (bvugt .cse17 |c_thr1Thread3of3ForFork0_inc_~inc__v~0#1|))))) is different from false [2023-11-21 19:59:12,357 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.01s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, BitVec], hasArrays=true, hasNonlinArith=false, quantifiers [0, 1] [2023-11-21 19:59:19,662 WARN L876 $PredicateComparison]: unable to prove that (let ((.cse10 (select |c_#memory_int| |c_~#value~0.base|))) (let ((.cse55 (select .cse10 |c_~#value~0.offset|)) (.cse1 (select |c_#memory_int| (_ bv3 32)))) (let ((.cse0 (select .cse1 |c_~#value~0.offset|)) (.cse4 (= |c_~#inc_flag~0.base| |c_~#value~0.base|)) (.cse9 (= |c_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| |c_~#inc_flag~0.base|)) (.cse11 (bvadd .cse55 (_ bv1 32))) (.cse29 (= |c_thr1Thread3of3ForFork0_inc_~inc__v~0#1| .cse55))) (and (= .cse0 |c_thr1Thread3of3ForFork0_inc_~inc__v~0#1|) (let ((.cse3 (= .cse0 (_ bv1 32))) (.cse2 (select |c_#memory_int| |c_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|))) (or (and (exists ((|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ BitVec 32))) (and (= (select .cse1 |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv1 32)) (= (select .cse2 |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv0 32)))) .cse3) (and (not (= |c_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (_ bv3 32))) .cse3 (exists ((|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ BitVec 32))) (= (select .cse2 |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv0 32)))))) (or (not .cse4) (forall ((v_ArrVal_517 (_ BitVec 32)) (v_DerPreprocessor_49 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_515 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse5 (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_515))) (or (let ((.cse6 (select (select .cse5 |c_~#value~0.base|) |c_~#value~0.offset|))) (bvugt (select (select (store (store .cse5 |c_~#value~0.base| (store (select (store .cse5 |c_~#inc_flag~0.base| (store (select .cse5 |c_~#inc_flag~0.base|) |c_~#inc_flag~0.offset| v_ArrVal_517)) |c_~#value~0.base|) |c_~#value~0.offset| (bvadd .cse6 (_ bv1 32)))) |c_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_49) |c_~#value~0.base|) |c_~#value~0.offset|) .cse6)) (not (= (select (select .cse5 |c_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|) |c_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv0 32))))))) (or (forall ((v_ArrVal_517 (_ BitVec 32)) (v_DerPreprocessor_47 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_48 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_515 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse7 (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_515))) (or (not (= (select (select .cse7 |c_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|) |c_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv0 32))) (let ((.cse8 (select (select .cse7 |c_~#value~0.base|) |c_~#value~0.offset|))) (bvugt (select (select (store (store (store .cse7 |c_~#inc_flag~0.base| v_DerPreprocessor_47) |c_~#value~0.base| (store (select (store .cse7 |c_~#inc_flag~0.base| (store (select .cse7 |c_~#inc_flag~0.base|) |c_~#inc_flag~0.offset| v_ArrVal_517)) |c_~#value~0.base|) |c_~#value~0.offset| (bvadd .cse8 (_ bv1 32)))) |c_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_48) |c_~#value~0.base|) |c_~#value~0.offset|) .cse8))))) .cse9 .cse4) (forall ((|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ BitVec 32)) (v_ArrVal_511 (_ BitVec 32)) (|~#inc_flag~0.offset| (_ BitVec 32)) (v_ArrVal_515 (Array (_ BitVec 32) (_ BitVec 32)))) (not (= (_ bv0 32) (select (select (store (store |c_#memory_int| |c_~#value~0.base| (store (store (store .cse10 |~#inc_flag~0.offset| v_ArrVal_511) |c_~#value~0.offset| .cse11) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ bv1 32))) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_515) |c_~#value~0.base|) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset|)))) (forall ((|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ BitVec 32)) (v_ArrVal_517 (_ BitVec 32)) (v_DerPreprocessor_47 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_48 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_511 (_ BitVec 32)) (|~#inc_flag~0.base| (_ BitVec 32)) (|~#inc_flag~0.offset| (_ BitVec 32)) (v_DerPreprocessor_51 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (_ BitVec 32)) (v_ArrVal_515 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse16 (store |c_#memory_int| |~#inc_flag~0.base| (store (select |c_#memory_int| |~#inc_flag~0.base|) |~#inc_flag~0.offset| v_ArrVal_511)))) (let ((.cse13 (store (select .cse16 |c_~#value~0.base|) |c_~#value~0.offset| .cse11))) (let ((.cse14 (store (select (store .cse16 |c_~#value~0.base| .cse13) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ bv1 32)))) (let ((.cse12 (store (store (store (store |c_#memory_int| |~#inc_flag~0.base| v_DerPreprocessor_51) |c_~#value~0.base| .cse13) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| .cse14) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_515))) (or (= |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| |~#inc_flag~0.base|) (not (= (select (select .cse12 |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv0 32))) (let ((.cse15 (select (select .cse12 |c_~#value~0.base|) |c_~#value~0.offset|))) (bvugt (select (select (store (store (store (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_515) |~#inc_flag~0.base| v_DerPreprocessor_47) |c_~#value~0.base| (store (select (store (store (store (store |c_#memory_int| |c_~#value~0.base| .cse13) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| .cse14) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_515) |~#inc_flag~0.base| (store (select .cse12 |~#inc_flag~0.base|) |~#inc_flag~0.offset| v_ArrVal_517)) |c_~#value~0.base|) |c_~#value~0.offset| (bvadd .cse15 (_ bv1 32)))) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_48) |c_~#value~0.base|) |c_~#value~0.offset|) .cse15)) (= |~#inc_flag~0.base| |c_~#value~0.base|))))))) (or (not .cse9) (forall ((v_ArrVal_517 (_ BitVec 32)) (v_DerPreprocessor_50 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_515 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse17 (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_515))) (or (let ((.cse18 (select (select .cse17 |c_~#value~0.base|) |c_~#value~0.offset|))) (bvugt (select (select (store (store .cse17 |c_~#value~0.base| (store (select (store .cse17 |c_~#inc_flag~0.base| (store (select .cse17 |c_~#inc_flag~0.base|) |c_~#inc_flag~0.offset| v_ArrVal_517)) |c_~#value~0.base|) |c_~#value~0.offset| (bvadd .cse18 (_ bv1 32)))) |c_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_50) |c_~#value~0.base|) |c_~#value~0.offset|) .cse18)) (not (= (select (select .cse17 |c_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|) |c_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv0 32))))))) (forall ((|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ BitVec 32)) (v_ArrVal_517 (_ BitVec 32)) (v_ArrVal_511 (_ BitVec 32)) (v_DerPreprocessor_50 (Array (_ BitVec 32) (_ BitVec 32))) (|~#inc_flag~0.offset| (_ BitVec 32)) (|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (_ BitVec 32)) (v_ArrVal_515 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse23 (store |c_#memory_int| |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (store (select |c_#memory_int| |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|) |~#inc_flag~0.offset| v_ArrVal_511)))) (let ((.cse24 (store (select .cse23 |c_~#value~0.base|) |c_~#value~0.offset| .cse11))) (let ((.cse19 (store |c_#memory_int| |c_~#value~0.base| .cse24))) (let ((.cse22 (store (store .cse19 |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (store (select (store .cse23 |c_~#value~0.base| .cse24) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ bv1 32))) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_515))) (let ((.cse20 (select .cse22 |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|))) (or (let ((.cse21 (select (select .cse22 |c_~#value~0.base|) |c_~#value~0.offset|))) (bvugt (select (select (store (store (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_515) |c_~#value~0.base| (store (select (store (store .cse19 |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_515) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (store .cse20 |~#inc_flag~0.offset| v_ArrVal_517)) |c_~#value~0.base|) |c_~#value~0.offset| (bvadd .cse21 (_ bv1 32)))) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_50) |c_~#value~0.base|) |c_~#value~0.offset|) .cse21)) (not (= (select .cse20 |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv0 32)))))))))) (forall ((|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ BitVec 32)) (v_ArrVal_517 (_ BitVec 32)) (v_DerPreprocessor_49 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_511 (_ BitVec 32)) (|~#inc_flag~0.offset| (_ BitVec 32)) (|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (_ BitVec 32)) (v_ArrVal_515 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse27 (store (let ((.cse28 (store |c_#memory_int| |c_~#value~0.base| (store (store .cse10 |~#inc_flag~0.offset| v_ArrVal_511) |c_~#value~0.offset| .cse11)))) (store .cse28 |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (store (select .cse28 |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ bv1 32)))) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_515))) (or (let ((.cse25 (select .cse27 |c_~#value~0.base|))) (let ((.cse26 (select .cse25 |c_~#value~0.offset|))) (bvugt (select (select (store (store (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_515) |c_~#value~0.base| (store (store .cse25 |~#inc_flag~0.offset| v_ArrVal_517) |c_~#value~0.offset| (bvadd .cse26 (_ bv1 32)))) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_49) |c_~#value~0.base|) |c_~#value~0.offset|) .cse26))) (not (= (select (select .cse27 |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv0 32)))))) (or (not .cse29) (let ((.cse30 (bvadd |c_thr1Thread3of3ForFork0_inc_~inc__v~0#1| (_ bv1 32)))) (and (forall ((|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ BitVec 32)) (v_ArrVal_511 (_ BitVec 32)) (|~#inc_flag~0.offset| (_ BitVec 32)) (v_ArrVal_515 (Array (_ BitVec 32) (_ BitVec 32)))) (not (= (select (select (store (store |c_#memory_int| |c_~#value~0.base| (store (store (store .cse10 |~#inc_flag~0.offset| v_ArrVal_511) |c_~#value~0.offset| .cse30) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ bv1 32))) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_515) |c_~#value~0.base|) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv0 32)))) (forall ((|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ BitVec 32)) (v_ArrVal_517 (_ BitVec 32)) (v_DerPreprocessor_47 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_48 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_511 (_ BitVec 32)) (|~#inc_flag~0.base| (_ BitVec 32)) (|~#inc_flag~0.offset| (_ BitVec 32)) (v_DerPreprocessor_51 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (_ BitVec 32)) (v_ArrVal_515 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse35 (store |c_#memory_int| |~#inc_flag~0.base| (store (select |c_#memory_int| |~#inc_flag~0.base|) |~#inc_flag~0.offset| v_ArrVal_511)))) (let ((.cse32 (store (select .cse35 |c_~#value~0.base|) |c_~#value~0.offset| .cse30))) (let ((.cse33 (store (select (store .cse35 |c_~#value~0.base| .cse32) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ bv1 32)))) (let ((.cse31 (store (store (store (store |c_#memory_int| |~#inc_flag~0.base| v_DerPreprocessor_51) |c_~#value~0.base| .cse32) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| .cse33) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_515))) (or (not (= (select (select .cse31 |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv0 32))) (= |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| |~#inc_flag~0.base|) (let ((.cse34 (select (select .cse31 |c_~#value~0.base|) |c_~#value~0.offset|))) (bvugt (select (select (store (store (store (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_515) |~#inc_flag~0.base| v_DerPreprocessor_47) |c_~#value~0.base| (store (select (store (store (store (store |c_#memory_int| |c_~#value~0.base| .cse32) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| .cse33) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_515) |~#inc_flag~0.base| (store (select .cse31 |~#inc_flag~0.base|) |~#inc_flag~0.offset| v_ArrVal_517)) |c_~#value~0.base|) |c_~#value~0.offset| (bvadd .cse34 (_ bv1 32)))) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_48) |c_~#value~0.base|) |c_~#value~0.offset|) .cse34)) (= |~#inc_flag~0.base| |c_~#value~0.base|))))))) (forall ((|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ BitVec 32)) (v_ArrVal_517 (_ BitVec 32)) (v_ArrVal_511 (_ BitVec 32)) (v_DerPreprocessor_50 (Array (_ BitVec 32) (_ BitVec 32))) (|~#inc_flag~0.offset| (_ BitVec 32)) (|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (_ BitVec 32)) (v_ArrVal_515 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse40 (store |c_#memory_int| |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (store (select |c_#memory_int| |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|) |~#inc_flag~0.offset| v_ArrVal_511)))) (let ((.cse41 (store (select .cse40 |c_~#value~0.base|) |c_~#value~0.offset| .cse30))) (let ((.cse37 (store |c_#memory_int| |c_~#value~0.base| .cse41))) (let ((.cse39 (store (store .cse37 |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (store (select (store .cse40 |c_~#value~0.base| .cse41) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ bv1 32))) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_515))) (let ((.cse36 (select .cse39 |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|))) (or (not (= (select .cse36 |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv0 32))) (let ((.cse38 (select (select .cse39 |c_~#value~0.base|) |c_~#value~0.offset|))) (bvugt (select (select (store (store (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_515) |c_~#value~0.base| (store (select (store (store .cse37 |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_515) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (store .cse36 |~#inc_flag~0.offset| v_ArrVal_517)) |c_~#value~0.base|) |c_~#value~0.offset| (bvadd .cse38 (_ bv1 32)))) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_50) |c_~#value~0.base|) |c_~#value~0.offset|) .cse38))))))))) (forall ((|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ BitVec 32)) (v_ArrVal_517 (_ BitVec 32)) (v_DerPreprocessor_49 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_511 (_ BitVec 32)) (|~#inc_flag~0.offset| (_ BitVec 32)) (|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (_ BitVec 32)) (v_ArrVal_515 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse42 (store (let ((.cse45 (store |c_#memory_int| |c_~#value~0.base| (store (store .cse10 |~#inc_flag~0.offset| v_ArrVal_511) |c_~#value~0.offset| .cse30)))) (store .cse45 |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (store (select .cse45 |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ bv1 32)))) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_515))) (or (not (= (select (select .cse42 |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv0 32))) (let ((.cse43 (select .cse42 |c_~#value~0.base|))) (let ((.cse44 (select .cse43 |c_~#value~0.offset|))) (bvugt (select (select (store (store (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_515) |c_~#value~0.base| (store (store .cse43 |~#inc_flag~0.offset| v_ArrVal_517) |c_~#value~0.offset| (bvadd .cse44 (_ bv1 32)))) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_49) |c_~#value~0.base|) |c_~#value~0.offset|) .cse44))))))))) (= (_ bv3 32) |c_~#value~0.base|) (or .cse29 (and (forall ((|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ BitVec 32)) (v_ArrVal_517 (_ BitVec 32)) (v_DerPreprocessor_49 (Array (_ BitVec 32) (_ BitVec 32))) (v_DerPreprocessor_52 (Array (_ BitVec 32) (_ BitVec 32))) (|~#inc_flag~0.offset| (_ BitVec 32)) (|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (_ BitVec 32)) (v_ArrVal_515 (Array (_ BitVec 32) (_ BitVec 32)))) (let ((.cse46 (store (store |c_#memory_int| |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_52) |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_515))) (or (not (= (select (select .cse46 |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv0 32))) (let ((.cse47 (select .cse46 |c_~#value~0.base|))) (let ((.cse48 (select .cse47 |c_~#value~0.offset|))) (bvugt (select (select (store (store (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_515) |c_~#value~0.base| (store (store .cse47 |~#inc_flag~0.offset| v_ArrVal_517) |c_~#value~0.offset| (bvadd (_ bv1 32) .cse48))) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_49) |c_~#value~0.base|) |c_~#value~0.offset|) .cse48)))))) (forall ((|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ BitVec 32)) (v_prenex_84 (_ BitVec 32)) (v_DerPreprocessor_50 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_85 (Array (_ BitVec 32) (_ BitVec 32))) (|~#inc_flag~0.base| (_ BitVec 32)) (v_DerPreprocessor_52 (Array (_ BitVec 32) (_ BitVec 32))) (|~#inc_flag~0.offset| (_ BitVec 32))) (let ((.cse52 (store (store |c_#memory_int| |~#inc_flag~0.base| v_DerPreprocessor_52) |c_ULTIMATE.start_main_~#t~0#1.base| v_prenex_85))) (let ((.cse50 (select .cse52 |~#inc_flag~0.base|))) (or (let ((.cse51 (select (select .cse52 |c_~#value~0.base|) |c_~#value~0.offset|))) (bvugt (select (select (store (let ((.cse49 (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_prenex_85))) (store .cse49 |c_~#value~0.base| (store (select (store .cse49 |~#inc_flag~0.base| (store .cse50 |~#inc_flag~0.offset| v_prenex_84)) |c_~#value~0.base|) |c_~#value~0.offset| (bvadd (_ bv1 32) .cse51)))) |~#inc_flag~0.base| v_DerPreprocessor_50) |c_~#value~0.base|) |c_~#value~0.offset|) .cse51)) (not (= (select .cse50 |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv0 32))))))) (forall ((|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset| (_ BitVec 32)) (v_DerPreprocessor_47 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_86 (_ BitVec 32)) (v_DerPreprocessor_48 (Array (_ BitVec 32) (_ BitVec 32))) (v_prenex_87 (Array (_ BitVec 32) (_ BitVec 32))) (|~#inc_flag~0.base| (_ BitVec 32)) (|~#inc_flag~0.offset| (_ BitVec 32)) (v_DerPreprocessor_52 (Array (_ BitVec 32) (_ BitVec 32))) (|thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| (_ BitVec 32))) (let ((.cse53 (store (store |c_#memory_int| |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_52) |c_ULTIMATE.start_main_~#t~0#1.base| v_prenex_87))) (or (= |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| |~#inc_flag~0.base|) (not (= (select (select .cse53 |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base|) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.offset|) (_ bv0 32))) (= |~#inc_flag~0.base| |c_~#value~0.base|) (let ((.cse54 (select (select .cse53 |c_~#value~0.base|) |c_~#value~0.offset|))) (bvugt (select (select (store (store (store (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_prenex_87) |~#inc_flag~0.base| v_DerPreprocessor_47) |c_~#value~0.base| (store (select (store .cse53 |~#inc_flag~0.base| (store (select .cse53 |~#inc_flag~0.base|) |~#inc_flag~0.offset| v_prenex_86)) |c_~#value~0.base|) |c_~#value~0.offset| (bvadd .cse54 (_ bv1 32)))) |thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_48) |c_~#value~0.base|) |c_~#value~0.offset|) .cse54))))))))))) is different from true [2023-11-21 19:59:23,450 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.60s for a HTC check with result VALID. Formula has sorts [Array, Bool, BitVec], hasArrays=true, hasNonlinArith=false, quantifiers [0, 1] [2023-11-21 19:59:25,681 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, BitVec], hasArrays=true, hasNonlinArith=false, quantifiers [0, 1] [2023-11-21 19:59:32,438 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, BitVec], hasArrays=true, hasNonlinArith=false, quantifiers [1] [2023-11-21 19:59:49,002 WARN L854 $PredicateComparison]: unable to prove that (and (forall ((v_ArrVal_387 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_392 (_ BitVec 32)) (v_ArrVal_386 (_ BitVec 1)) (v_DerPreprocessor_28 (Array (_ BitVec 32) (_ BitVec 32))) (|v_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base_17| (_ BitVec 32)) (|~#inc_flag~0.base| (_ BitVec 32)) (|~#inc_flag~0.offset| (_ BitVec 32)) (|v_thr1Thread2of3ForFork0_dec_~#dec__casret~0#1.base_22| (_ BitVec 32))) (or (not (= (select |c_#valid| |v_thr1Thread2of3ForFork0_dec_~#dec__casret~0#1.base_22|) (_ bv0 1))) (not (= (_ bv0 1) (select (store |c_#valid| |v_thr1Thread2of3ForFork0_dec_~#dec__casret~0#1.base_22| v_ArrVal_386) |v_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base_17|))) (let ((.cse2 (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_387))) (let ((.cse1 (select (select .cse2 |c_~#value~0.base|) |c_~#value~0.offset|))) (bvugt (select (select (store (let ((.cse0 (store .cse2 |~#inc_flag~0.base| (store (select .cse2 |~#inc_flag~0.base|) |~#inc_flag~0.offset| v_ArrVal_392)))) (store .cse0 |c_~#value~0.base| (store (select .cse0 |c_~#value~0.base|) |c_~#value~0.offset| (bvadd .cse1 (_ bv1 32))))) |v_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base_17| v_DerPreprocessor_28) |c_~#value~0.base|) |c_~#value~0.offset|) .cse1))))) (bvugt (select (select |c_#memory_int| |c_~#value~0.base|) |c_~#value~0.offset|) |c_thr1Thread3of3ForFork0_inc_~inc__v~0#1|)) is different from false [2023-11-21 19:59:50,897 WARN L854 $PredicateComparison]: unable to prove that (let ((.cse2 (select (select |c_#memory_int| |c_~#value~0.base|) |c_~#value~0.offset|))) (let ((.cse1 (bvadd .cse2 (_ bv1 32))) (.cse7 (= |c_thr1Thread3of3ForFork0_inc_~inc__v~0#1| .cse2))) (and (forall ((|v_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base_17| (_ BitVec 32))) (or (forall ((v_ArrVal_392 (_ BitVec 32)) (v_DerPreprocessor_28 (Array (_ BitVec 32) (_ BitVec 32))) (|~#inc_flag~0.base| (_ BitVec 32)) (|~#inc_flag~0.offset| (_ BitVec 32))) (bvugt (select (select (store (let ((.cse0 (store |c_#memory_int| |~#inc_flag~0.base| (store (select |c_#memory_int| |~#inc_flag~0.base|) |~#inc_flag~0.offset| v_ArrVal_392)))) (store .cse0 |c_~#value~0.base| (store (select .cse0 |c_~#value~0.base|) |c_~#value~0.offset| .cse1))) |v_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base_17| v_DerPreprocessor_28) |c_~#value~0.base|) |c_~#value~0.offset|) .cse2)) (not (= (select |c_#valid| |v_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base_17|) (_ bv0 1))))) (forall ((v_ArrVal_392 (_ BitVec 32)) (v_DerPreprocessor_28 (Array (_ BitVec 32) (_ BitVec 32))) (|~#inc_flag~0.base| (_ BitVec 32)) (|~#inc_flag~0.offset| (_ BitVec 32))) (bvugt (select (select (store (let ((.cse3 (store |c_#memory_int| |~#inc_flag~0.base| (store (select |c_#memory_int| |~#inc_flag~0.base|) |~#inc_flag~0.offset| v_ArrVal_392)))) (store .cse3 |c_~#value~0.base| (store (select .cse3 |c_~#value~0.base|) |c_~#value~0.offset| .cse1))) |c_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_28) |c_~#value~0.base|) |c_~#value~0.offset|) .cse2)) (forall ((v_ArrVal_387 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_392 (_ BitVec 32)) (v_ArrVal_386 (_ BitVec 1)) (v_DerPreprocessor_28 (Array (_ BitVec 32) (_ BitVec 32))) (|v_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base_17| (_ BitVec 32)) (|~#inc_flag~0.base| (_ BitVec 32)) (|~#inc_flag~0.offset| (_ BitVec 32))) (or (not (= (_ bv0 1) (select (store |c_#valid| |c_thr1Thread2of3ForFork0_dec_~#dec__casret~0#1.base| v_ArrVal_386) |v_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base_17|))) (let ((.cse6 (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_387))) (let ((.cse5 (select (select .cse6 |c_~#value~0.base|) |c_~#value~0.offset|))) (bvugt (select (select (store (let ((.cse4 (store .cse6 |~#inc_flag~0.base| (store (select .cse6 |~#inc_flag~0.base|) |~#inc_flag~0.offset| v_ArrVal_392)))) (store .cse4 |c_~#value~0.base| (store (select .cse4 |c_~#value~0.base|) |c_~#value~0.offset| (bvadd .cse5 (_ bv1 32))))) |v_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base_17| v_DerPreprocessor_28) |c_~#value~0.base|) |c_~#value~0.offset|) .cse5))))) (or .cse7 (forall ((v_DerPreprocessor_27 (Array (_ BitVec 32) (_ BitVec 32)))) (bvugt (select (select (store |c_#memory_int| |c_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_27) |c_~#value~0.base|) |c_~#value~0.offset|) |c_thr1Thread3of3ForFork0_inc_~inc__v~0#1|))) (or (not .cse7) (forall ((v_ArrVal_392 (_ BitVec 32)) (v_DerPreprocessor_28 (Array (_ BitVec 32) (_ BitVec 32))) (|~#inc_flag~0.base| (_ BitVec 32)) (|~#inc_flag~0.offset| (_ BitVec 32))) (bvugt (select (select (store (let ((.cse8 (store |c_#memory_int| |~#inc_flag~0.base| (store (select |c_#memory_int| |~#inc_flag~0.base|) |~#inc_flag~0.offset| v_ArrVal_392)))) (store .cse8 |c_~#value~0.base| (store (select .cse8 |c_~#value~0.base|) |c_~#value~0.offset| (bvadd |c_thr1Thread3of3ForFork0_inc_~inc__v~0#1| (_ bv1 32))))) |c_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base| v_DerPreprocessor_28) |c_~#value~0.base|) |c_~#value~0.offset|) |c_thr1Thread3of3ForFork0_inc_~inc__v~0#1|))) (forall ((v_ArrVal_387 (Array (_ BitVec 32) (_ BitVec 32))) (v_ArrVal_392 (_ BitVec 32)) (v_ArrVal_386 (_ BitVec 1)) (v_DerPreprocessor_28 (Array (_ BitVec 32) (_ BitVec 32))) (|v_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base_17| (_ BitVec 32)) (|~#inc_flag~0.base| (_ BitVec 32)) (|~#inc_flag~0.offset| (_ BitVec 32)) (|v_thr1Thread2of3ForFork0_dec_~#dec__casret~0#1.base_22| (_ BitVec 32))) (or (not (= (select |c_#valid| |v_thr1Thread2of3ForFork0_dec_~#dec__casret~0#1.base_22|) (_ bv0 1))) (not (= (_ bv0 1) (select (store |c_#valid| |v_thr1Thread2of3ForFork0_dec_~#dec__casret~0#1.base_22| v_ArrVal_386) |v_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base_17|))) (let ((.cse11 (store |c_#memory_int| |c_ULTIMATE.start_main_~#t~0#1.base| v_ArrVal_387))) (let ((.cse10 (select (select .cse11 |c_~#value~0.base|) |c_~#value~0.offset|))) (bvugt (select (select (store (let ((.cse9 (store .cse11 |~#inc_flag~0.base| (store (select .cse11 |~#inc_flag~0.base|) |~#inc_flag~0.offset| v_ArrVal_392)))) (store .cse9 |c_~#value~0.base| (store (select .cse9 |c_~#value~0.base|) |c_~#value~0.offset| (bvadd .cse10 (_ bv1 32))))) |v_thr1Thread3of3ForFork0_inc_~#inc__casret~0#1.base_17| v_DerPreprocessor_28) |c_~#value~0.base|) |c_~#value~0.offset|) .cse10)))))))) is different from false [2023-11-21 20:00:06,295 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2023-11-21 20:00:06,296 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2023-11-21 20:00:06,296 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2023-11-21 20:00:06,303 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2023-11-21 20:00:06,303 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2023-11-21 20:00:06,303 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2023-11-21 20:00:06,303 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2023-11-21 20:00:06,305 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2023-11-21 20:00:06,309 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (26)] Forceful destruction successful, exit code 0 [2023-11-21 20:00:06,507 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 26 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2023-11-21 20:00:06,508 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting thr1Err0ASSERT_VIOLATIONERROR_FUNCTION === [thr1Err1ASSERT_VIOLATIONERROR_FUNCTION, thr1Err0ASSERT_VIOLATIONERROR_FUNCTION] === [2023-11-21 20:00:06,508 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2023-11-21 20:00:06,508 INFO L85 PathProgramCache]: Analyzing trace with hash 1000648533, now seen corresponding path program 1 times [2023-11-21 20:00:06,509 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2023-11-21 20:00:06,509 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1498546782] [2023-11-21 20:00:06,509 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-11-21 20:00:06,509 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2023-11-21 20:00:06,509 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat [2023-11-21 20:00:06,510 INFO L229 MonitoredProcess]: Starting monitored process 27 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2023-11-21 20:00:06,511 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (27)] Waiting until timeout for monitored process [2023-11-21 20:00:06,677 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-21 20:00:06,681 INFO L262 TraceCheckSpWp]: Trace formula consists of 143 conjuncts, 12 conjunts are in the unsatisfiable core [2023-11-21 20:00:06,683 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2023-11-21 20:00:09,024 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 0 case distinctions, treesize of input 33 treesize of output 25 [2023-11-21 20:00:09,785 INFO L349 Elim1Store]: treesize reduction 61, result has 37.1 percent of original size [2023-11-21 20:00:09,786 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 2 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 4 new quantified variables, introduced 5 case distinctions, treesize of input 44 treesize of output 86 [2023-11-21 20:00:09,862 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 7 [2023-11-21 20:00:09,987 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 7 [2023-11-21 20:00:10,158 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 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 14 treesize of output 11 [2023-11-21 20:00:11,277 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2023-11-21 20:00:11,277 INFO L323 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2023-11-21 20:00:11,277 INFO L136 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2023-11-21 20:00:11,277 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1498546782] [2023-11-21 20:00:11,277 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1498546782] provided 1 perfect and 0 imperfect interpolant sequences [2023-11-21 20:00:11,277 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2023-11-21 20:00:11,278 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2023-11-21 20:00:11,278 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [455605166] [2023-11-21 20:00:11,278 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2023-11-21 20:00:11,278 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2023-11-21 20:00:11,278 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2023-11-21 20:00:11,278 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2023-11-21 20:00:11,278 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=17, Unknown=0, NotChecked=0, Total=30 [2023-11-21 20:00:11,278 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2023-11-21 20:00:11,279 INFO L495 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2023-11-21 20:00:11,279 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 6.0) internal successors, (30), 5 states have internal predecessors, (30), 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) [2023-11-21 20:00:11,279 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2023-11-21 20:00:11,279 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 4 states. [2023-11-21 20:00:11,279 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 5 states. [2023-11-21 20:00:11,279 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 4 states. [2023-11-21 20:00:11,279 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 21 states. [2023-11-21 20:00:11,279 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 7 states. [2023-11-21 20:00:11,279 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 6 states. [2023-11-21 20:00:11,279 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 20 states. [2023-11-21 20:00:11,279 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2023-11-21 20:00:17,185 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2023-11-21 20:00:17,185 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2023-11-21 20:00:17,185 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2023-11-21 20:00:17,186 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2023-11-21 20:00:17,186 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2023-11-21 20:00:17,186 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2023-11-21 20:00:17,186 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2023-11-21 20:00:17,186 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2023-11-21 20:00:17,186 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2023-11-21 20:00:17,190 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (27)] Forceful destruction successful, exit code 0 [2023-11-21 20:00:17,387 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 27 /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2023-11-21 20:00:17,387 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting thr1Err0ASSERT_VIOLATIONERROR_FUNCTION === [thr1Err1ASSERT_VIOLATIONERROR_FUNCTION, thr1Err0ASSERT_VIOLATIONERROR_FUNCTION] === [2023-11-21 20:00:17,387 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2023-11-21 20:00:17,387 INFO L85 PathProgramCache]: Analyzing trace with hash 955333108, now seen corresponding path program 2 times [2023-11-21 20:00:17,388 INFO L118 FreeRefinementEngine]: Executing refinement strategy WOLF [2023-11-21 20:00:17,388 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1967061591] [2023-11-21 20:00:17,388 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2023-11-21 20:00:17,388 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2023-11-21 20:00:17,388 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat [2023-11-21 20:00:17,389 INFO L229 MonitoredProcess]: Starting monitored process 28 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2023-11-21 20:00:17,390 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (28)] Waiting until timeout for monitored process [2023-11-21 20:00:17,549 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2023-11-21 20:00:17,549 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2023-11-21 20:00:17,553 INFO L262 TraceCheckSpWp]: Trace formula consists of 148 conjuncts, 18 conjunts are in the unsatisfiable core [2023-11-21 20:00:17,555 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2023-11-21 20:00:21,201 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 0 case distinctions, treesize of input 21 treesize of output 21 [2023-11-21 20:00:21,458 INFO L349 Elim1Store]: treesize reduction 13, result has 40.9 percent of original size [2023-11-21 20:00:21,459 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 1 case distinctions, treesize of input 21 treesize of output 15 [2023-11-21 20:00:21,607 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 0 case distinctions, treesize of input 16 treesize of output 16 [2023-11-21 20:00:21,665 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 [2023-11-21 20:00:23,045 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 31 treesize of output 26 [2023-11-21 20:00:23,072 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 7 [2023-11-21 20:00:23,166 INFO L190 IndexEqualityManager]: detected not equals via solver [2023-11-21 20:00:23,166 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 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 15 treesize of output 1 [2023-11-21 20:00:23,405 INFO L349 Elim1Store]: treesize reduction 29, result has 3.3 percent of original size [2023-11-21 20:00:23,405 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 2 stores, 2 select indices, 2 select index equivalence classes, 5 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 1 case distinctions, treesize of input 46 treesize of output 56 [2023-11-21 20:00:23,453 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 1 [2023-11-21 20:00:23,904 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 26 treesize of output 23 [2023-11-21 20:00:24,011 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 7 [2023-11-21 20:00:26,894 INFO L349 Elim1Store]: treesize reduction 29, result has 49.1 percent of original size [2023-11-21 20:00:26,894 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 5 select indices, 5 select index equivalence classes, 3 disjoint index pairs (out of 10 index pairs), introduced 5 new quantified variables, introduced 7 case distinctions, treesize of input 108 treesize of output 115 [2023-11-21 20:00:27,110 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2023-11-21 20:00:27,111 INFO L323 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2023-11-21 20:00:27,111 INFO L136 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2023-11-21 20:00:27,111 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1967061591] [2023-11-21 20:00:27,111 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1967061591] provided 1 perfect and 0 imperfect interpolant sequences [2023-11-21 20:00:27,111 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2023-11-21 20:00:27,111 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2023-11-21 20:00:27,111 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [947004004] [2023-11-21 20:00:27,111 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2023-11-21 20:00:27,111 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2023-11-21 20:00:27,111 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2023-11-21 20:00:27,112 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2023-11-21 20:00:27,112 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=78, Unknown=0, NotChecked=0, Total=110 [2023-11-21 20:00:27,112 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2023-11-21 20:00:27,112 INFO L495 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2023-11-21 20:00:27,112 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.909090909090909) internal successors, (32), 10 states have internal predecessors, (32), 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) [2023-11-21 20:00:27,112 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2023-11-21 20:00:27,112 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 4 states. [2023-11-21 20:00:27,112 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 5 states. [2023-11-21 20:00:27,112 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 4 states. [2023-11-21 20:00:27,112 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 21 states. [2023-11-21 20:00:27,112 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 7 states. [2023-11-21 20:00:27,112 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 6 states. [2023-11-21 20:00:27,112 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 20 states. [2023-11-21 20:00:27,112 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 6 states. [2023-11-21 20:00:27,112 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. Killed by 15