./Ultimate.py --spec ../../sv-benchmarks/c/properties/unreach-call.prp --file ../../sv-benchmarks/c/hardware-verification-bv/btor2c-lazyMod.extinction.1.prop1-func-interl.c --full-output --architecture 64bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version d790fecc Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_1ecb8f71-e22a-4681-80dc-e524ef3f2fce/bin/ukojak-verify-CZk0znPC7b/data/config -Xmx15G -Xms4m -jar /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_1ecb8f71-e22a-4681-80dc-e524ef3f2fce/bin/ukojak-verify-CZk0znPC7b/plugins/org.eclipse.equinox.launcher_1.6.800.v20240513-1750.jar -data @noDefault -ultimatedata /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_1ecb8f71-e22a-4681-80dc-e524ef3f2fce/bin/ukojak-verify-CZk0znPC7b/data -tc /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_1ecb8f71-e22a-4681-80dc-e524ef3f2fce/bin/ukojak-verify-CZk0znPC7b/config/KojakReach.xml -i ../../sv-benchmarks/c/hardware-verification-bv/btor2c-lazyMod.extinction.1.prop1-func-interl.c -s /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_1ecb8f71-e22a-4681-80dc-e524ef3f2fce/bin/ukojak-verify-CZk0znPC7b/config/svcomp-Reach-64bit-Kojak_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_1ecb8f71-e22a-4681-80dc-e524ef3f2fce/bin/ukojak-verify-CZk0znPC7b --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 Kojak --witnessprinter.graph.data.architecture 64bit --witnessprinter.graph.data.programhash 8a0c70500e2bd83a121aaecd5906e653adb326671ed668009339cb988485240a --- Real Ultimate output --- This is Ultimate 0.3.0-dev-d790fec [2024-12-06 02:24:55,691 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-12-06 02:24:55,751 INFO L114 SettingsManager]: Loading settings from /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_1ecb8f71-e22a-4681-80dc-e524ef3f2fce/bin/ukojak-verify-CZk0znPC7b/config/svcomp-Reach-64bit-Kojak_Default.epf [2024-12-06 02:24:55,755 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-12-06 02:24:55,755 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck.Interpolating solver [2024-12-06 02:24:55,778 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-12-06 02:24:55,779 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2024-12-06 02:24:55,779 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ALWAYS [2024-12-06 02:24:55,779 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-12-06 02:24:55,779 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-12-06 02:24:55,780 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-12-06 02:24:55,780 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2024-12-06 02:24:55,780 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2024-12-06 02:24:55,780 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-12-06 02:24:55,780 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2024-12-06 02:24:55,780 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2024-12-06 02:24:55,780 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2024-12-06 02:24:55,780 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-12-06 02:24:55,781 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2024-12-06 02:24:55,781 INFO L153 SettingsManager]: * Use constant arrays=true [2024-12-06 02:24:55,781 INFO L151 SettingsManager]: Preferences of CodeCheck differ from their defaults: [2024-12-06 02:24:55,781 INFO L153 SettingsManager]: * Timeout in seconds=1000000 [2024-12-06 02:24:55,781 INFO L153 SettingsManager]: * Theory for external solver=ALL [2024-12-06 02:24:55,781 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-12-06 02:24:55,781 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 [2024-12-06 02:24:55,782 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-12-06 02:24:55,782 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2024-12-06 02:24:55,782 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2024-12-06 02:24:55,782 INFO L153 SettingsManager]: * Trace refinement strategy=PENGUIN [2024-12-06 02:24:55,782 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2024-12-06 02:24:55,782 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_1ecb8f71-e22a-4681-80dc-e524ef3f2fce/bin/ukojak-verify-CZk0znPC7b 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 -> Kojak Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 64bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 8a0c70500e2bd83a121aaecd5906e653adb326671ed668009339cb988485240a [2024-12-06 02:24:56,010 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-12-06 02:24:56,018 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-12-06 02:24:56,020 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-12-06 02:24:56,021 INFO L270 PluginConnector]: Initializing CDTParser... [2024-12-06 02:24:56,022 INFO L274 PluginConnector]: CDTParser initialized [2024-12-06 02:24:56,023 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_1ecb8f71-e22a-4681-80dc-e524ef3f2fce/bin/ukojak-verify-CZk0znPC7b/../../sv-benchmarks/c/hardware-verification-bv/btor2c-lazyMod.extinction.1.prop1-func-interl.c [2024-12-06 02:24:58,702 INFO L533 CDTParser]: Created temporary CDT project at /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_1ecb8f71-e22a-4681-80dc-e524ef3f2fce/bin/ukojak-verify-CZk0znPC7b/data/2cbda39c4/8df80d202dc34bfcb5e99e4923b8d887/FLAGb8c1d87eb [2024-12-06 02:24:59,051 INFO L384 CDTParser]: Found 1 translation units. [2024-12-06 02:24:59,052 INFO L180 CDTParser]: Scanning /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_1ecb8f71-e22a-4681-80dc-e524ef3f2fce/sv-benchmarks/c/hardware-verification-bv/btor2c-lazyMod.extinction.1.prop1-func-interl.c [2024-12-06 02:24:59,074 INFO L427 CDTParser]: About to delete temporary CDT project at /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_1ecb8f71-e22a-4681-80dc-e524ef3f2fce/bin/ukojak-verify-CZk0znPC7b/data/2cbda39c4/8df80d202dc34bfcb5e99e4923b8d887/FLAGb8c1d87eb [2024-12-06 02:24:59,088 INFO L435 CDTParser]: Successfully deleted /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_1ecb8f71-e22a-4681-80dc-e524ef3f2fce/bin/ukojak-verify-CZk0znPC7b/data/2cbda39c4/8df80d202dc34bfcb5e99e4923b8d887 [2024-12-06 02:24:59,091 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-12-06 02:24:59,092 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2024-12-06 02:24:59,093 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-12-06 02:24:59,094 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-12-06 02:24:59,098 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-12-06 02:24:59,099 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 06.12 02:24:59" (1/1) ... [2024-12-06 02:24:59,099 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@343ec61d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.12 02:24:59, skipping insertion in model container [2024-12-06 02:24:59,099 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 06.12 02:24:59" (1/1) ... [2024-12-06 02:24:59,174 INFO L175 MainTranslator]: Built tables and reachable declarations [2024-12-06 02:24:59,375 WARN L250 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_1ecb8f71-e22a-4681-80dc-e524ef3f2fce/sv-benchmarks/c/hardware-verification-bv/btor2c-lazyMod.extinction.1.prop1-func-interl.c[1177,1190] [2024-12-06 02:24:59,907 INFO L210 PostProcessor]: Analyzing one entry point: main [2024-12-06 02:24:59,917 INFO L200 MainTranslator]: Completed pre-run [2024-12-06 02:24:59,927 WARN L250 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_1ecb8f71-e22a-4681-80dc-e524ef3f2fce/sv-benchmarks/c/hardware-verification-bv/btor2c-lazyMod.extinction.1.prop1-func-interl.c[1177,1190] [2024-12-06 02:25:00,322 INFO L210 PostProcessor]: Analyzing one entry point: main [2024-12-06 02:25:00,338 INFO L204 MainTranslator]: Completed translation [2024-12-06 02:25:00,339 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.12 02:25:00 WrapperNode [2024-12-06 02:25:00,339 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-12-06 02:25:00,340 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2024-12-06 02:25:00,340 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2024-12-06 02:25:00,340 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2024-12-06 02:25:00,347 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.12 02:25:00" (1/1) ... [2024-12-06 02:25:00,439 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.12 02:25:00" (1/1) ... [2024-12-06 02:25:01,606 INFO L138 Inliner]: procedures = 17, calls = 8, calls flagged for inlining = 3, calls inlined = 3, statements flattened = 18182 [2024-12-06 02:25:01,607 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2024-12-06 02:25:01,608 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-12-06 02:25:01,608 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-12-06 02:25:01,608 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-12-06 02:25:01,614 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.12 02:25:00" (1/1) ... [2024-12-06 02:25:01,614 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.12 02:25:00" (1/1) ... [2024-12-06 02:25:02,135 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.12 02:25:00" (1/1) ... [2024-12-06 02:25:02,135 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.12 02:25:00" (1/1) ... [2024-12-06 02:25:02,458 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.12 02:25:00" (1/1) ... [2024-12-06 02:25:02,548 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.12 02:25:00" (1/1) ... [2024-12-06 02:25:02,595 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.12 02:25:00" (1/1) ... [2024-12-06 02:25:02,652 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.12 02:25:00" (1/1) ... [2024-12-06 02:25:02,695 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.12 02:25:00" (1/1) ... [2024-12-06 02:25:02,931 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-12-06 02:25:02,932 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2024-12-06 02:25:02,932 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2024-12-06 02:25:02,932 INFO L274 PluginConnector]: RCFGBuilder initialized [2024-12-06 02:25:02,934 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.12 02:25:00" (1/1) ... [2024-12-06 02:25:02,939 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 [2024-12-06 02:25:02,951 INFO L189 MonitoredProcess]: No working directory specified, using /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_1ecb8f71-e22a-4681-80dc-e524ef3f2fce/bin/ukojak-verify-CZk0znPC7b/z3 [2024-12-06 02:25:02,963 INFO L229 MonitoredProcess]: Starting monitored process 1 with /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_1ecb8f71-e22a-4681-80dc-e524ef3f2fce/bin/ukojak-verify-CZk0znPC7b/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 (exit command is (exit), workingDir is null) [2024-12-06 02:25:02,966 INFO L327 MonitoredProcess]: [MP /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_1ecb8f71-e22a-4681-80dc-e524ef3f2fce/bin/ukojak-verify-CZk0znPC7b/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 (1)] Waiting until timeout for monitored process [2024-12-06 02:25:02,988 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2024-12-06 02:25:02,988 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2024-12-06 02:25:02,988 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-12-06 02:25:02,988 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-12-06 02:25:03,839 INFO L234 CfgBuilder]: Building ICFG [2024-12-06 02:25:03,841 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2024-12-06 02:25:34,220 INFO L? ?]: Removed 10181 outVars from TransFormulas that were not future-live. [2024-12-06 02:25:34,220 INFO L283 CfgBuilder]: Performing block encoding [2024-12-06 02:26:05,447 INFO L307 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2024-12-06 02:26:05,447 INFO L312 CfgBuilder]: Removed 1 assume(true) statements. [2024-12-06 02:26:05,447 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 06.12 02:26:05 BoogieIcfgContainer [2024-12-06 02:26:05,447 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2024-12-06 02:26:05,448 INFO L112 PluginConnector]: ------------------------CodeCheck---------------------------- [2024-12-06 02:26:05,448 INFO L270 PluginConnector]: Initializing CodeCheck... [2024-12-06 02:26:05,455 INFO L274 PluginConnector]: CodeCheck initialized [2024-12-06 02:26:05,455 INFO L184 PluginConnector]: Executing the observer CodeCheckObserver from plugin CodeCheck for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 06.12 02:26:05" (1/1) ... [2024-12-06 02:26:05,461 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-12-06 02:26:05,501 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2024-12-06 02:26:05,507 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 7 states and 8 transitions. [2024-12-06 02:26:05,507 INFO L276 IsEmpty]: Start isEmpty. Operand 7 states and 8 transitions. [2024-12-06 02:26:05,509 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2024-12-06 02:26:05,510 INFO L420 CodeCheckObserver]: Error Path is FOUND. [2024-12-06 02:26:05,510 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-12-06 02:26:06,385 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-12-06 02:26:06,385 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-12-06 02:26:06,874 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-12-06 02:26:08,183 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-12-06 02:26:08,183 INFO L357 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-12-06 02:26:09,218 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-12-06 02:26:09,820 WARN L473 CodeCheckObserver]: This program is UNSAFE, Check terminated with 1 iterations. [2024-12-06 02:26:09,873 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck CFG 06.12 02:26:09 ImpRootNode [2024-12-06 02:26:09,873 INFO L131 PluginConnector]: ------------------------ END CodeCheck---------------------------- [2024-12-06 02:26:09,873 INFO L112 PluginConnector]: ------------------------Witness Printer---------------------------- [2024-12-06 02:26:09,873 INFO L270 PluginConnector]: Initializing Witness Printer... [2024-12-06 02:26:09,874 INFO L274 PluginConnector]: Witness Printer initialized [2024-12-06 02:26:09,874 INFO L184 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 06.12 02:26:05" (3/4) ... [2024-12-06 02:26:09,877 INFO L149 WitnessPrinter]: No result that supports witness generation found [2024-12-06 02:26:09,878 INFO L131 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2024-12-06 02:26:09,879 INFO L158 Benchmark]: Toolchain (without parser) took 70786.77ms. Allocated memory was 142.6MB in the beginning and 5.4GB in the end (delta: 5.3GB). Free memory was 110.0MB in the beginning and 3.3GB in the end (delta: -3.2GB). Peak memory consumption was 2.1GB. Max. memory is 16.1GB. [2024-12-06 02:26:09,879 INFO L158 Benchmark]: CDTParser took 0.38ms. Allocated memory is still 117.4MB. Free memory is still 72.8MB. There was no memory consumed. Max. memory is 16.1GB. [2024-12-06 02:26:09,880 INFO L158 Benchmark]: CACSL2BoogieTranslator took 1246.01ms. Allocated memory was 142.6MB in the beginning and 335.5MB in the end (delta: 192.9MB). Free memory was 109.8MB in the beginning and 207.8MB in the end (delta: -97.9MB). Peak memory consumption was 139.5MB. Max. memory is 16.1GB. [2024-12-06 02:26:09,881 INFO L158 Benchmark]: Boogie Procedure Inliner took 1266.72ms. Allocated memory was 335.5MB in the beginning and 1.0GB in the end (delta: 671.1MB). Free memory was 207.8MB in the beginning and 607.9MB in the end (delta: -400.1MB). Peak memory consumption was 290.4MB. Max. memory is 16.1GB. [2024-12-06 02:26:09,881 INFO L158 Benchmark]: Boogie Preprocessor took 1323.88ms. Allocated memory is still 1.0GB. Free memory was 607.9MB in the beginning and 484.5MB in the end (delta: 123.4MB). Peak memory consumption was 125.8MB. Max. memory is 16.1GB. [2024-12-06 02:26:09,882 INFO L158 Benchmark]: RCFGBuilder took 62515.29ms. Allocated memory was 1.0GB in the beginning and 5.4GB in the end (delta: 4.4GB). Free memory was 484.5MB in the beginning and 3.8GB in the end (delta: -3.3GB). Peak memory consumption was 2.8GB. Max. memory is 16.1GB. [2024-12-06 02:26:09,883 INFO L158 Benchmark]: CodeCheck took 4424.70ms. Allocated memory is still 5.4GB. Free memory was 3.8GB in the beginning and 3.3GB in the end (delta: 486.5MB). Peak memory consumption was 486.5MB. Max. memory is 16.1GB. [2024-12-06 02:26:09,883 INFO L158 Benchmark]: Witness Printer took 4.48ms. Allocated memory is still 5.4GB. Free memory is still 3.3GB. There was no memory consumed. Max. memory is 16.1GB. [2024-12-06 02:26:09,886 INFO L338 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck: - StatisticsResult: Ultimate CodeCheck benchmark data CFG has 1 procedures, 7 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 4.4s, OverallIterations: 1, TraceHistogramMax: 0, PathProgramHistogramMax: 0, EmptinessCheckTime: 0.0s, AutomataDifference: 0.0s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: , PredicateUnifierStatistics: 0 DeclaredPredicates, 0 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=-1occurred in iteration=-1, InterpolantAutomatonStates: 0, traceCheckStatistics: 0.4s SsaConstructionTime, 0.8s SatisfiabilityAnalysisTime, 0.0s InterpolantComputationTime, 4 NumberOfCodeBlocks, 4 NumberOfCodeBlocksAsserted, 1 NumberOfCheckSat, 0 ConstructedInterpolants, 0 QuantifiedInterpolants, 0 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 0 InterpolantComputations, 0 PerfectInterpolantSequences, 0/0 InterpolantCoveringCapability, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: No data available, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: No data available, ReuseStatistics: No data available, ConComCheckerStatistics: No data available - UnprovableResult [Line: 21]: Unable to prove that a call to reach_error is unreachable Unable to prove that a call to reach_error is unreachable Reason: overapproximation of bitwiseOr at line 500, overapproximation of bitwiseAnd at line 372, overapproximation of bitwiseAnd at line 137. Possible FailurePath: [L26] const SORT_1 mask_SORT_1 = (SORT_1)-1 >> (sizeof(SORT_1) * 8 - 1); [L27] const SORT_1 msb_SORT_1 = (SORT_1)1 << (1 - 1); [L29] const SORT_2 mask_SORT_2 = (SORT_2)-1 >> (sizeof(SORT_2) * 8 - 8); [L30] const SORT_2 msb_SORT_2 = (SORT_2)1 << (8 - 1); [L32] const SORT_3 mask_SORT_3 = (SORT_3)-1 >> (sizeof(SORT_3) * 8 - 24); [L33] const SORT_3 msb_SORT_3 = (SORT_3)1 << (24 - 1); [L35] const SORT_4 mask_SORT_4 = (SORT_4)-1 >> (sizeof(SORT_4) * 8 - 32); [L36] const SORT_4 msb_SORT_4 = (SORT_4)1 << (32 - 1); [L38] const SORT_2 var_5 = 0; [L39] const SORT_1 var_74 = 0; [L40] const SORT_3 var_161 = 0; [L41] const SORT_4 var_163 = 1; [L42] const SORT_4 var_178 = 100; [L43] const SORT_4 var_180 = 10; [L44] const SORT_2 var_189 = 0; [L45] const SORT_2 var_193 = 255; [L46] const SORT_2 var_230 = 1; [L47] const SORT_2 var_291 = 2; [L48] const SORT_4 var_347 = 2; [L49] const SORT_2 var_358 = 111; [L50] const SORT_2 var_367 = 11; [L51] const SORT_2 var_437 = 122; [L52] const SORT_2 var_442 = 22; [L53] const SORT_2 var_450 = 100; [L54] const SORT_4 var_813 = 0; [L55] const SORT_2 var_1016 = 3; [L57] SORT_1 input_167; [L58] SORT_1 input_170; [L59] SORT_1 input_171; [L60] SORT_1 input_176; [L61] SORT_1 input_185; [L62] SORT_1 input_200; [L63] SORT_1 input_210; [L64] SORT_1 input_214; [L65] SORT_1 input_215; [L66] SORT_1 input_216; [L67] SORT_1 input_217; [L68] SORT_1 input_218; [L69] SORT_1 input_227; [L70] SORT_1 input_231; [L71] SORT_1 input_240; [L72] SORT_1 input_253; [L73] SORT_1 input_263; [L74] SORT_1 input_267; [L75] SORT_1 input_268; [L76] SORT_1 input_269; [L77] SORT_1 input_270; [L78] SORT_1 input_271; [L79] SORT_1 input_272; [L80] SORT_1 input_273; [L81] SORT_1 input_274; [L82] SORT_1 input_275; [L83] SORT_1 input_288; [L84] SORT_1 input_292; [L85] SORT_1 input_301; [L86] SORT_1 input_314; [L87] SORT_1 input_324; [L88] SORT_1 input_328; [L89] SORT_1 input_329; [L90] SORT_1 input_330; [L91] SORT_1 input_331; [L92] SORT_1 input_332; [L93] SORT_1 input_341; [L94] SORT_1 input_345; [L95] SORT_1 input_359; [L96] SORT_1 input_368; [L97] SORT_1 input_438; [L98] SORT_1 input_443; [L99] SORT_1 input_451; [L100] SORT_1 input_537; [L101] SORT_1 input_541; [L102] SORT_1 input_545; [L103] SORT_1 input_604; [L104] SORT_1 input_608; [L105] SORT_1 input_610; [L106] SORT_1 input_612; [L107] SORT_1 input_614; [L108] SORT_1 input_618; [L109] SORT_1 input_625; [L110] SORT_1 input_627; [L111] SORT_1 input_633; [L112] SORT_1 input_637; [L113] SORT_1 input_654; [L114] SORT_1 input_670; [L115] SORT_1 input_674; [L116] SORT_1 input_676; [L117] SORT_1 input_678; [L118] SORT_1 input_680; [L119] SORT_1 input_684; [L120] SORT_1 input_691; [L121] SORT_1 input_693; [L122] SORT_1 input_699; [L123] SORT_1 input_703; [L124] SORT_1 input_720; [L125] SORT_1 input_736; [L126] SORT_1 input_740; [L127] SORT_1 input_742; [L128] SORT_1 input_744; [L129] SORT_1 input_746; [L130] SORT_1 input_750; [L131] SORT_1 input_757; [L132] SORT_1 input_759; [L133] SORT_1 input_765; [L134] SORT_1 input_769; [L135] SORT_1 input_786; [L137] EXPR __VERIFIER_nondet_uchar() & mask_SORT_2 [L137] SORT_2 state_6 = __VERIFIER_nondet_uchar() & mask_SORT_2; [L138] EXPR __VERIFIER_nondet_uchar() & mask_SORT_2 [L138] SORT_2 state_8 = __VERIFIER_nondet_uchar() & mask_SORT_2; [L139] EXPR __VERIFIER_nondet_uchar() & mask_SORT_2 [L139] SORT_2 state_10 = __VERIFIER_nondet_uchar() & mask_SORT_2; [L140] EXPR __VERIFIER_nondet_uchar() & mask_SORT_2 [L140] SORT_2 state_12 = __VERIFIER_nondet_uchar() & mask_SORT_2; [L141] EXPR __VERIFIER_nondet_uchar() & mask_SORT_2 [L141] SORT_2 state_14 = __VERIFIER_nondet_uchar() & mask_SORT_2; [L142] EXPR __VERIFIER_nondet_uchar() & mask_SORT_2 [L142] SORT_2 state_16 = __VERIFIER_nondet_uchar() & mask_SORT_2; [L143] EXPR __VERIFIER_nondet_uchar() & mask_SORT_2 [L143] SORT_2 state_18 = __VERIFIER_nondet_uchar() & mask_SORT_2; [L144] EXPR __VERIFIER_nondet_uchar() & mask_SORT_2 [L144] SORT_2 state_20 = __VERIFIER_nondet_uchar() & mask_SORT_2; [L145] EXPR __VERIFIER_nondet_uchar() & mask_SORT_2 [L145] SORT_2 state_22 = __VERIFIER_nondet_uchar() & mask_SORT_2; [L146] EXPR __VERIFIER_nondet_uchar() & mask_SORT_2 [L146] SORT_2 state_24 = __VERIFIER_nondet_uchar() & mask_SORT_2; [L147] EXPR __VERIFIER_nondet_uchar() & mask_SORT_2 [L147] SORT_2 state_26 = __VERIFIER_nondet_uchar() & mask_SORT_2; [L148] EXPR __VERIFIER_nondet_uchar() & mask_SORT_2 [L148] SORT_2 state_28 = __VERIFIER_nondet_uchar() & mask_SORT_2; [L149] EXPR __VERIFIER_nondet_uchar() & mask_SORT_2 [L149] SORT_2 state_30 = __VERIFIER_nondet_uchar() & mask_SORT_2; [L150] EXPR __VERIFIER_nondet_uchar() & mask_SORT_2 [L150] SORT_2 state_32 = __VERIFIER_nondet_uchar() & mask_SORT_2; [L151] EXPR __VERIFIER_nondet_uchar() & mask_SORT_2 [L151] SORT_2 state_34 = __VERIFIER_nondet_uchar() & mask_SORT_2; [L152] EXPR __VERIFIER_nondet_uchar() & mask_SORT_2 [L152] SORT_2 state_36 = __VERIFIER_nondet_uchar() & mask_SORT_2; [L153] EXPR __VERIFIER_nondet_uchar() & mask_SORT_2 [L153] SORT_2 state_38 = __VERIFIER_nondet_uchar() & mask_SORT_2; [L154] EXPR __VERIFIER_nondet_uchar() & mask_SORT_2 [L154] SORT_2 state_40 = __VERIFIER_nondet_uchar() & mask_SORT_2; [L155] EXPR __VERIFIER_nondet_uchar() & mask_SORT_2 [L155] SORT_2 state_42 = __VERIFIER_nondet_uchar() & mask_SORT_2; [L156] EXPR __VERIFIER_nondet_uchar() & mask_SORT_2 [L156] SORT_2 state_44 = __VERIFIER_nondet_uchar() & mask_SORT_2; [L157] EXPR __VERIFIER_nondet_uchar() & mask_SORT_2 [L157] SORT_2 state_46 = __VERIFIER_nondet_uchar() & mask_SORT_2; [L158] EXPR __VERIFIER_nondet_uchar() & mask_SORT_2 [L158] SORT_2 state_48 = __VERIFIER_nondet_uchar() & mask_SORT_2; [L159] EXPR __VERIFIER_nondet_uchar() & mask_SORT_2 [L159] SORT_2 state_50 = __VERIFIER_nondet_uchar() & mask_SORT_2; [L160] EXPR __VERIFIER_nondet_uchar() & mask_SORT_2 [L160] SORT_2 state_52 = __VERIFIER_nondet_uchar() & mask_SORT_2; [L161] EXPR __VERIFIER_nondet_uchar() & mask_SORT_2 [L161] SORT_2 state_54 = __VERIFIER_nondet_uchar() & mask_SORT_2; [L162] EXPR __VERIFIER_nondet_uchar() & mask_SORT_2 [L162] SORT_2 state_56 = __VERIFIER_nondet_uchar() & mask_SORT_2; [L163] EXPR __VERIFIER_nondet_uchar() & mask_SORT_2 [L163] SORT_2 state_58 = __VERIFIER_nondet_uchar() & mask_SORT_2; [L164] EXPR __VERIFIER_nondet_uchar() & mask_SORT_2 [L164] SORT_2 state_60 = __VERIFIER_nondet_uchar() & mask_SORT_2; [L165] EXPR __VERIFIER_nondet_uchar() & mask_SORT_2 [L165] SORT_2 state_62 = __VERIFIER_nondet_uchar() & mask_SORT_2; [L166] EXPR __VERIFIER_nondet_uchar() & mask_SORT_2 [L166] SORT_2 state_64 = __VERIFIER_nondet_uchar() & mask_SORT_2; [L167] EXPR __VERIFIER_nondet_uchar() & mask_SORT_2 [L167] SORT_2 state_66 = __VERIFIER_nondet_uchar() & mask_SORT_2; [L168] EXPR __VERIFIER_nondet_uchar() & mask_SORT_2 [L168] SORT_2 state_68 = __VERIFIER_nondet_uchar() & mask_SORT_2; [L169] EXPR __VERIFIER_nondet_uchar() & mask_SORT_2 [L169] SORT_2 state_70 = __VERIFIER_nondet_uchar() & mask_SORT_2; [L170] EXPR __VERIFIER_nondet_uchar() & mask_SORT_2 [L170] SORT_2 state_72 = __VERIFIER_nondet_uchar() & mask_SORT_2; [L171] EXPR __VERIFIER_nondet_uchar() & mask_SORT_1 [L171] SORT_1 state_75 = __VERIFIER_nondet_uchar() & mask_SORT_1; [L172] EXPR __VERIFIER_nondet_uchar() & mask_SORT_1 [L172] SORT_1 state_77 = __VERIFIER_nondet_uchar() & mask_SORT_1; [L173] EXPR __VERIFIER_nondet_uchar() & mask_SORT_1 [L173] SORT_1 state_79 = __VERIFIER_nondet_uchar() & mask_SORT_1; [L174] EXPR __VERIFIER_nondet_uchar() & mask_SORT_1 [L174] SORT_1 state_81 = __VERIFIER_nondet_uchar() & mask_SORT_1; [L175] EXPR __VERIFIER_nondet_uchar() & mask_SORT_1 [L175] SORT_1 state_83 = __VERIFIER_nondet_uchar() & mask_SORT_1; [L176] EXPR __VERIFIER_nondet_uchar() & mask_SORT_1 [L176] SORT_1 state_85 = __VERIFIER_nondet_uchar() & mask_SORT_1; [L177] EXPR __VERIFIER_nondet_uchar() & mask_SORT_1 [L177] SORT_1 state_87 = __VERIFIER_nondet_uchar() & mask_SORT_1; [L178] EXPR __VERIFIER_nondet_uchar() & mask_SORT_1 [L178] SORT_1 state_89 = __VERIFIER_nondet_uchar() & mask_SORT_1; [L179] EXPR __VERIFIER_nondet_uchar() & mask_SORT_1 [L179] SORT_1 state_91 = __VERIFIER_nondet_uchar() & mask_SORT_1; [L180] EXPR __VERIFIER_nondet_uchar() & mask_SORT_1 [L180] SORT_1 state_93 = __VERIFIER_nondet_uchar() & mask_SORT_1; [L181] EXPR __VERIFIER_nondet_uchar() & mask_SORT_1 [L181] SORT_1 state_95 = __VERIFIER_nondet_uchar() & mask_SORT_1; [L182] EXPR __VERIFIER_nondet_uchar() & mask_SORT_1 [L182] SORT_1 state_97 = __VERIFIER_nondet_uchar() & mask_SORT_1; [L183] EXPR __VERIFIER_nondet_uchar() & mask_SORT_1 [L183] SORT_1 state_99 = __VERIFIER_nondet_uchar() & mask_SORT_1; [L184] EXPR __VERIFIER_nondet_uchar() & mask_SORT_1 [L184] SORT_1 state_101 = __VERIFIER_nondet_uchar() & mask_SORT_1; [L185] EXPR __VERIFIER_nondet_uchar() & mask_SORT_1 [L185] SORT_1 state_103 = __VERIFIER_nondet_uchar() & mask_SORT_1; [L186] EXPR __VERIFIER_nondet_uchar() & mask_SORT_1 [L186] SORT_1 state_105 = __VERIFIER_nondet_uchar() & mask_SORT_1; [L187] EXPR __VERIFIER_nondet_uchar() & mask_SORT_1 [L187] SORT_1 state_107 = __VERIFIER_nondet_uchar() & mask_SORT_1; [L188] EXPR __VERIFIER_nondet_uchar() & mask_SORT_1 [L188] SORT_1 state_109 = __VERIFIER_nondet_uchar() & mask_SORT_1; [L189] EXPR __VERIFIER_nondet_uchar() & mask_SORT_1 [L189] SORT_1 state_111 = __VERIFIER_nondet_uchar() & mask_SORT_1; [L190] EXPR __VERIFIER_nondet_uchar() & mask_SORT_1 [L190] SORT_1 state_113 = __VERIFIER_nondet_uchar() & mask_SORT_1; [L191] EXPR __VERIFIER_nondet_uchar() & mask_SORT_1 [L191] SORT_1 state_115 = __VERIFIER_nondet_uchar() & mask_SORT_1; [L192] EXPR __VERIFIER_nondet_uchar() & mask_SORT_1 [L192] SORT_1 state_117 = __VERIFIER_nondet_uchar() & mask_SORT_1; [L193] EXPR __VERIFIER_nondet_uchar() & mask_SORT_1 [L193] SORT_1 state_119 = __VERIFIER_nondet_uchar() & mask_SORT_1; [L194] EXPR __VERIFIER_nondet_uchar() & mask_SORT_1 [L194] SORT_1 state_121 = __VERIFIER_nondet_uchar() & mask_SORT_1; [L195] EXPR __VERIFIER_nondet_uchar() & mask_SORT_1 [L195] SORT_1 state_123 = __VERIFIER_nondet_uchar() & mask_SORT_1; [L196] EXPR __VERIFIER_nondet_uchar() & mask_SORT_1 [L196] SORT_1 state_125 = __VERIFIER_nondet_uchar() & mask_SORT_1; [L197] EXPR __VERIFIER_nondet_uchar() & mask_SORT_1 [L197] SORT_1 state_127 = __VERIFIER_nondet_uchar() & mask_SORT_1; [L198] EXPR __VERIFIER_nondet_uchar() & mask_SORT_1 [L198] SORT_1 state_129 = __VERIFIER_nondet_uchar() & mask_SORT_1; [L199] EXPR __VERIFIER_nondet_uchar() & mask_SORT_1 [L199] SORT_1 state_131 = __VERIFIER_nondet_uchar() & mask_SORT_1; [L200] EXPR __VERIFIER_nondet_uchar() & mask_SORT_1 [L200] SORT_1 state_133 = __VERIFIER_nondet_uchar() & mask_SORT_1; [L201] EXPR __VERIFIER_nondet_uchar() & mask_SORT_1 [L201] SORT_1 state_135 = __VERIFIER_nondet_uchar() & mask_SORT_1; [L202] EXPR __VERIFIER_nondet_uchar() & mask_SORT_1 [L202] SORT_1 state_137 = __VERIFIER_nondet_uchar() & mask_SORT_1; [L203] EXPR __VERIFIER_nondet_uchar() & mask_SORT_1 [L203] SORT_1 state_139 = __VERIFIER_nondet_uchar() & mask_SORT_1; [L204] EXPR __VERIFIER_nondet_uchar() & mask_SORT_1 [L204] SORT_1 state_141 = __VERIFIER_nondet_uchar() & mask_SORT_1; [L205] EXPR __VERIFIER_nondet_uchar() & mask_SORT_1 [L205] SORT_1 state_143 = __VERIFIER_nondet_uchar() & mask_SORT_1; [L206] EXPR __VERIFIER_nondet_uchar() & mask_SORT_1 [L206] SORT_1 state_145 = __VERIFIER_nondet_uchar() & mask_SORT_1; [L207] EXPR __VERIFIER_nondet_uchar() & mask_SORT_1 [L207] SORT_1 state_147 = __VERIFIER_nondet_uchar() & mask_SORT_1; [L208] EXPR __VERIFIER_nondet_uchar() & mask_SORT_1 [L208] SORT_1 state_149 = __VERIFIER_nondet_uchar() & mask_SORT_1; [L209] EXPR __VERIFIER_nondet_uchar() & mask_SORT_1 [L209] SORT_1 state_151 = __VERIFIER_nondet_uchar() & mask_SORT_1; [L210] EXPR __VERIFIER_nondet_uchar() & mask_SORT_1 [L210] SORT_1 state_153 = __VERIFIER_nondet_uchar() & mask_SORT_1; [L211] EXPR __VERIFIER_nondet_uchar() & mask_SORT_1 [L211] SORT_1 state_155 = __VERIFIER_nondet_uchar() & mask_SORT_1; [L212] EXPR __VERIFIER_nondet_uchar() & mask_SORT_1 [L212] SORT_1 state_157 = __VERIFIER_nondet_uchar() & mask_SORT_1; [L213] EXPR __VERIFIER_nondet_uchar() & mask_SORT_1 [L213] SORT_1 state_159 = __VERIFIER_nondet_uchar() & mask_SORT_1; [L215] SORT_2 init_7_arg_1 = var_5; [L216] state_6 = init_7_arg_1 [L217] SORT_2 init_9_arg_1 = var_5; [L218] state_8 = init_9_arg_1 [L219] SORT_2 init_11_arg_1 = var_5; [L220] state_10 = init_11_arg_1 [L221] SORT_2 init_13_arg_1 = var_5; [L222] state_12 = init_13_arg_1 [L223] SORT_2 init_15_arg_1 = var_5; [L224] state_14 = init_15_arg_1 [L225] SORT_2 init_17_arg_1 = var_5; [L226] state_16 = init_17_arg_1 [L227] SORT_2 init_19_arg_1 = var_5; [L228] state_18 = init_19_arg_1 [L229] SORT_2 init_21_arg_1 = var_5; [L230] state_20 = init_21_arg_1 [L231] SORT_2 init_23_arg_1 = var_5; [L232] state_22 = init_23_arg_1 [L233] SORT_2 init_25_arg_1 = var_5; [L234] state_24 = init_25_arg_1 [L235] SORT_2 init_27_arg_1 = var_5; [L236] state_26 = init_27_arg_1 [L237] SORT_2 init_29_arg_1 = var_5; [L238] state_28 = init_29_arg_1 [L239] SORT_2 init_31_arg_1 = var_5; [L240] state_30 = init_31_arg_1 [L241] SORT_2 init_33_arg_1 = var_5; [L242] state_32 = init_33_arg_1 [L243] SORT_2 init_35_arg_1 = var_5; [L244] state_34 = init_35_arg_1 [L245] SORT_2 init_37_arg_1 = var_5; [L246] state_36 = init_37_arg_1 [L247] SORT_2 init_39_arg_1 = var_5; [L248] state_38 = init_39_arg_1 [L249] SORT_2 init_41_arg_1 = var_5; [L250] state_40 = init_41_arg_1 [L251] SORT_2 init_43_arg_1 = var_5; [L252] state_42 = init_43_arg_1 [L253] SORT_2 init_45_arg_1 = var_5; [L254] state_44 = init_45_arg_1 [L255] SORT_2 init_47_arg_1 = var_5; [L256] state_46 = init_47_arg_1 [L257] SORT_2 init_49_arg_1 = var_5; [L258] state_48 = init_49_arg_1 [L259] SORT_2 init_51_arg_1 = var_5; [L260] state_50 = init_51_arg_1 [L261] SORT_2 init_53_arg_1 = var_5; [L262] state_52 = init_53_arg_1 [L263] SORT_2 init_55_arg_1 = var_5; [L264] state_54 = init_55_arg_1 [L265] SORT_2 init_57_arg_1 = var_5; [L266] state_56 = init_57_arg_1 [L267] SORT_2 init_59_arg_1 = var_5; [L268] state_58 = init_59_arg_1 [L269] SORT_2 init_61_arg_1 = var_5; [L270] state_60 = init_61_arg_1 [L271] SORT_2 init_63_arg_1 = var_5; [L272] state_62 = init_63_arg_1 [L273] SORT_2 init_65_arg_1 = var_5; [L274] state_64 = init_65_arg_1 [L275] SORT_2 init_67_arg_1 = var_5; [L276] state_66 = init_67_arg_1 [L277] SORT_2 init_69_arg_1 = var_5; [L278] state_68 = init_69_arg_1 [L279] SORT_2 init_71_arg_1 = var_5; [L280] state_70 = init_71_arg_1 [L281] SORT_2 init_73_arg_1 = var_5; [L282] state_72 = init_73_arg_1 [L283] SORT_1 init_76_arg_1 = var_74; [L284] state_75 = init_76_arg_1 [L285] SORT_1 init_78_arg_1 = var_74; [L286] state_77 = init_78_arg_1 [L287] SORT_1 init_80_arg_1 = var_74; [L288] state_79 = init_80_arg_1 [L289] SORT_1 init_82_arg_1 = var_74; [L290] state_81 = init_82_arg_1 [L291] SORT_1 init_84_arg_1 = var_74; [L292] state_83 = init_84_arg_1 [L293] SORT_1 init_86_arg_1 = var_74; [L294] state_85 = init_86_arg_1 [L295] SORT_1 init_88_arg_1 = var_74; [L296] state_87 = init_88_arg_1 [L297] SORT_1 init_90_arg_1 = var_74; [L298] state_89 = init_90_arg_1 [L299] SORT_1 init_92_arg_1 = var_74; [L300] state_91 = init_92_arg_1 [L301] SORT_1 init_94_arg_1 = var_74; [L302] state_93 = init_94_arg_1 [L303] SORT_1 init_96_arg_1 = var_74; [L304] state_95 = init_96_arg_1 [L305] SORT_1 init_98_arg_1 = var_74; [L306] state_97 = init_98_arg_1 [L307] SORT_1 init_100_arg_1 = var_74; [L308] state_99 = init_100_arg_1 [L309] SORT_1 init_102_arg_1 = var_74; [L310] state_101 = init_102_arg_1 [L311] SORT_1 init_104_arg_1 = var_74; [L312] state_103 = init_104_arg_1 [L313] SORT_1 init_106_arg_1 = var_74; [L314] state_105 = init_106_arg_1 [L315] SORT_1 init_108_arg_1 = var_74; [L316] state_107 = init_108_arg_1 [L317] SORT_1 init_110_arg_1 = var_74; [L318] state_109 = init_110_arg_1 [L319] SORT_1 init_112_arg_1 = var_74; [L320] state_111 = init_112_arg_1 [L321] SORT_1 init_114_arg_1 = var_74; [L322] state_113 = init_114_arg_1 [L323] SORT_1 init_116_arg_1 = var_74; [L324] state_115 = init_116_arg_1 [L325] SORT_1 init_118_arg_1 = var_74; [L326] state_117 = init_118_arg_1 [L327] SORT_1 init_120_arg_1 = var_74; [L328] state_119 = init_120_arg_1 [L329] SORT_1 init_122_arg_1 = var_74; [L330] state_121 = init_122_arg_1 [L331] SORT_1 init_124_arg_1 = var_74; [L332] state_123 = init_124_arg_1 [L333] SORT_1 init_126_arg_1 = var_74; [L334] state_125 = init_126_arg_1 [L335] SORT_1 init_128_arg_1 = var_74; [L336] state_127 = init_128_arg_1 [L337] SORT_1 init_130_arg_1 = var_74; [L338] state_129 = init_130_arg_1 [L339] SORT_1 init_132_arg_1 = var_74; [L340] state_131 = init_132_arg_1 [L341] SORT_1 init_134_arg_1 = var_74; [L342] state_133 = init_134_arg_1 [L343] SORT_1 init_136_arg_1 = var_74; [L344] state_135 = init_136_arg_1 [L345] SORT_1 init_138_arg_1 = var_74; [L346] state_137 = init_138_arg_1 [L347] SORT_1 init_140_arg_1 = var_74; [L348] state_139 = init_140_arg_1 [L349] SORT_1 init_142_arg_1 = var_74; [L350] state_141 = init_142_arg_1 [L351] SORT_1 init_144_arg_1 = var_74; [L352] state_143 = init_144_arg_1 [L353] SORT_1 init_146_arg_1 = var_74; [L354] state_145 = init_146_arg_1 [L355] SORT_1 init_148_arg_1 = var_74; [L356] state_147 = init_148_arg_1 [L357] SORT_1 init_150_arg_1 = var_74; [L358] state_149 = init_150_arg_1 [L359] SORT_1 init_152_arg_1 = var_74; [L360] state_151 = init_152_arg_1 [L361] SORT_1 init_154_arg_1 = var_74; [L362] state_153 = init_154_arg_1 [L363] SORT_1 init_156_arg_1 = var_74; [L364] state_155 = init_156_arg_1 [L365] SORT_1 init_158_arg_1 = var_74; [L366] state_157 = init_158_arg_1 [L367] SORT_1 init_160_arg_1 = var_74; [L368] state_159 = init_160_arg_1 VAL [mask_SORT_1=1, mask_SORT_2=255, mask_SORT_3=16777215, mask_SORT_4=-1, msb_SORT_4=2147483648, state_101=0, state_103=0, state_105=0, state_107=0, state_109=0, state_10=0, state_111=0, state_113=0, state_115=0, state_117=0, state_119=0, state_121=0, state_123=0, state_125=0, state_127=0, state_129=0, state_12=0, state_131=0, state_133=0, state_135=0, state_137=0, state_139=0, state_141=0, state_143=0, state_145=0, state_147=0, state_149=0, state_14=0, state_151=0, state_153=0, state_155=0, state_157=0, state_159=0, state_16=0, state_18=0, state_20=0, state_22=0, state_24=0, state_26=0, state_28=0, state_30=0, state_32=0, state_34=0, state_36=0, state_38=0, state_40=0, state_42=0, state_44=0, state_46=0, state_48=0, state_50=0, state_52=0, state_54=0, state_56=0, state_58=0, state_60=0, state_62=0, state_64=0, state_66=0, state_68=0, state_6=0, state_70=0, state_72=0, state_75=0, state_77=0, state_79=0, state_81=0, state_83=0, state_85=0, state_87=0, state_89=0, state_8=0, state_91=0, state_93=0, state_95=0, state_97=0, state_99=0, var_1016=3, var_161=0, var_163=1, var_178=100, var_180=10, var_189=0, var_193=255, var_230=1, var_291=2, var_347=2, var_358=111, var_367=11, var_437=122, var_442=22, var_450=100, var_813=0] [L371] input_167 = __VERIFIER_nondet_uchar() [L372] EXPR input_167 & mask_SORT_1 [L372] input_167 = input_167 & mask_SORT_1 [L373] input_170 = __VERIFIER_nondet_uchar() [L374] EXPR input_170 & mask_SORT_1 [L374] input_170 = input_170 & mask_SORT_1 [L375] input_171 = __VERIFIER_nondet_uchar() [L376] EXPR input_171 & mask_SORT_1 [L376] input_171 = input_171 & mask_SORT_1 [L377] input_176 = __VERIFIER_nondet_uchar() [L378] EXPR input_176 & mask_SORT_1 [L378] input_176 = input_176 & mask_SORT_1 [L379] input_185 = __VERIFIER_nondet_uchar() [L380] EXPR input_185 & mask_SORT_1 [L380] input_185 = input_185 & mask_SORT_1 [L381] input_200 = __VERIFIER_nondet_uchar() [L382] EXPR input_200 & mask_SORT_1 [L382] input_200 = input_200 & mask_SORT_1 [L383] input_210 = __VERIFIER_nondet_uchar() [L384] EXPR input_210 & mask_SORT_1 [L384] input_210 = input_210 & mask_SORT_1 [L385] input_214 = __VERIFIER_nondet_uchar() [L386] EXPR input_214 & mask_SORT_1 [L386] input_214 = input_214 & mask_SORT_1 [L387] input_215 = __VERIFIER_nondet_uchar() [L388] EXPR input_215 & mask_SORT_1 [L388] input_215 = input_215 & mask_SORT_1 [L389] input_216 = __VERIFIER_nondet_uchar() [L390] EXPR input_216 & mask_SORT_1 [L390] input_216 = input_216 & mask_SORT_1 [L391] input_217 = __VERIFIER_nondet_uchar() [L392] EXPR input_217 & mask_SORT_1 [L392] input_217 = input_217 & mask_SORT_1 [L393] input_218 = __VERIFIER_nondet_uchar() [L394] EXPR input_218 & mask_SORT_1 [L394] input_218 = input_218 & mask_SORT_1 [L395] input_227 = __VERIFIER_nondet_uchar() [L396] EXPR input_227 & mask_SORT_1 [L396] input_227 = input_227 & mask_SORT_1 [L397] input_231 = __VERIFIER_nondet_uchar() [L398] EXPR input_231 & mask_SORT_1 [L398] input_231 = input_231 & mask_SORT_1 [L399] input_240 = __VERIFIER_nondet_uchar() [L400] EXPR input_240 & mask_SORT_1 [L400] input_240 = input_240 & mask_SORT_1 [L401] input_253 = __VERIFIER_nondet_uchar() [L402] EXPR input_253 & mask_SORT_1 [L402] input_253 = input_253 & mask_SORT_1 [L403] input_263 = __VERIFIER_nondet_uchar() [L404] EXPR input_263 & mask_SORT_1 [L404] input_263 = input_263 & mask_SORT_1 [L405] input_267 = __VERIFIER_nondet_uchar() [L406] EXPR input_267 & mask_SORT_1 [L406] input_267 = input_267 & mask_SORT_1 [L407] input_268 = __VERIFIER_nondet_uchar() [L408] EXPR input_268 & mask_SORT_1 [L408] input_268 = input_268 & mask_SORT_1 [L409] input_269 = __VERIFIER_nondet_uchar() [L410] EXPR input_269 & mask_SORT_1 [L410] input_269 = input_269 & mask_SORT_1 [L411] input_270 = __VERIFIER_nondet_uchar() [L412] EXPR input_270 & mask_SORT_1 [L412] input_270 = input_270 & mask_SORT_1 [L413] input_271 = __VERIFIER_nondet_uchar() [L414] EXPR input_271 & mask_SORT_1 [L414] input_271 = input_271 & mask_SORT_1 [L415] input_272 = __VERIFIER_nondet_uchar() [L416] EXPR input_272 & mask_SORT_1 [L416] input_272 = input_272 & mask_SORT_1 [L417] input_273 = __VERIFIER_nondet_uchar() [L418] EXPR input_273 & mask_SORT_1 [L418] input_273 = input_273 & mask_SORT_1 [L419] input_274 = __VERIFIER_nondet_uchar() [L420] EXPR input_274 & mask_SORT_1 [L420] input_274 = input_274 & mask_SORT_1 [L421] input_275 = __VERIFIER_nondet_uchar() [L422] EXPR input_275 & mask_SORT_1 [L422] input_275 = input_275 & mask_SORT_1 [L423] input_288 = __VERIFIER_nondet_uchar() [L424] EXPR input_288 & mask_SORT_1 [L424] input_288 = input_288 & mask_SORT_1 [L425] input_292 = __VERIFIER_nondet_uchar() [L426] EXPR input_292 & mask_SORT_1 [L426] input_292 = input_292 & mask_SORT_1 [L427] input_301 = __VERIFIER_nondet_uchar() [L428] EXPR input_301 & mask_SORT_1 [L428] input_301 = input_301 & mask_SORT_1 [L429] input_314 = __VERIFIER_nondet_uchar() [L430] EXPR input_314 & mask_SORT_1 [L430] input_314 = input_314 & mask_SORT_1 [L431] input_324 = __VERIFIER_nondet_uchar() [L432] EXPR input_324 & mask_SORT_1 [L432] input_324 = input_324 & mask_SORT_1 [L433] input_328 = __VERIFIER_nondet_uchar() [L434] EXPR input_328 & mask_SORT_1 [L434] input_328 = input_328 & mask_SORT_1 [L435] input_329 = __VERIFIER_nondet_uchar() [L436] EXPR input_329 & mask_SORT_1 [L436] input_329 = input_329 & mask_SORT_1 [L437] input_330 = __VERIFIER_nondet_uchar() [L438] EXPR input_330 & mask_SORT_1 [L438] input_330 = input_330 & mask_SORT_1 [L439] input_331 = __VERIFIER_nondet_uchar() [L440] EXPR input_331 & mask_SORT_1 [L440] input_331 = input_331 & mask_SORT_1 [L441] input_332 = __VERIFIER_nondet_uchar() [L442] EXPR input_332 & mask_SORT_1 [L442] input_332 = input_332 & mask_SORT_1 [L443] input_341 = __VERIFIER_nondet_uchar() [L444] EXPR input_341 & mask_SORT_1 [L444] input_341 = input_341 & mask_SORT_1 [L445] input_345 = __VERIFIER_nondet_uchar() [L446] EXPR input_345 & mask_SORT_1 [L446] input_345 = input_345 & mask_SORT_1 [L447] input_359 = __VERIFIER_nondet_uchar() [L448] EXPR input_359 & mask_SORT_1 [L448] input_359 = input_359 & mask_SORT_1 [L449] input_368 = __VERIFIER_nondet_uchar() [L450] EXPR input_368 & mask_SORT_1 [L450] input_368 = input_368 & mask_SORT_1 [L451] input_438 = __VERIFIER_nondet_uchar() [L452] EXPR input_438 & mask_SORT_1 [L452] input_438 = input_438 & mask_SORT_1 [L453] input_443 = __VERIFIER_nondet_uchar() [L454] EXPR input_443 & mask_SORT_1 [L454] input_443 = input_443 & mask_SORT_1 [L455] input_451 = __VERIFIER_nondet_uchar() [L456] EXPR input_451 & mask_SORT_1 [L456] input_451 = input_451 & mask_SORT_1 [L457] input_537 = __VERIFIER_nondet_uchar() [L458] EXPR input_537 & mask_SORT_1 [L458] input_537 = input_537 & mask_SORT_1 [L459] input_541 = __VERIFIER_nondet_uchar() [L460] EXPR input_541 & mask_SORT_1 [L460] input_541 = input_541 & mask_SORT_1 [L461] input_545 = __VERIFIER_nondet_uchar() [L462] EXPR input_545 & mask_SORT_1 [L462] input_545 = input_545 & mask_SORT_1 [L463] input_604 = __VERIFIER_nondet_uchar() [L464] input_608 = __VERIFIER_nondet_uchar() [L465] input_610 = __VERIFIER_nondet_uchar() [L466] input_612 = __VERIFIER_nondet_uchar() [L467] input_614 = __VERIFIER_nondet_uchar() [L468] input_618 = __VERIFIER_nondet_uchar() [L469] input_625 = __VERIFIER_nondet_uchar() [L470] input_627 = __VERIFIER_nondet_uchar() [L471] input_633 = __VERIFIER_nondet_uchar() [L472] input_637 = __VERIFIER_nondet_uchar() [L473] input_654 = __VERIFIER_nondet_uchar() [L474] input_670 = __VERIFIER_nondet_uchar() [L475] input_674 = __VERIFIER_nondet_uchar() [L476] input_676 = __VERIFIER_nondet_uchar() [L477] input_678 = __VERIFIER_nondet_uchar() [L478] input_680 = __VERIFIER_nondet_uchar() [L479] input_684 = __VERIFIER_nondet_uchar() [L480] input_691 = __VERIFIER_nondet_uchar() [L481] input_693 = __VERIFIER_nondet_uchar() [L482] input_699 = __VERIFIER_nondet_uchar() [L483] input_703 = __VERIFIER_nondet_uchar() [L484] input_720 = __VERIFIER_nondet_uchar() [L485] input_736 = __VERIFIER_nondet_uchar() [L486] input_740 = __VERIFIER_nondet_uchar() [L487] input_742 = __VERIFIER_nondet_uchar() [L488] input_744 = __VERIFIER_nondet_uchar() [L489] input_746 = __VERIFIER_nondet_uchar() [L490] input_750 = __VERIFIER_nondet_uchar() [L491] input_757 = __VERIFIER_nondet_uchar() [L492] input_759 = __VERIFIER_nondet_uchar() [L493] input_765 = __VERIFIER_nondet_uchar() [L494] input_769 = __VERIFIER_nondet_uchar() [L495] input_786 = __VERIFIER_nondet_uchar() [L498] SORT_3 var_162_arg_0 = var_161; [L499] SORT_2 var_162_arg_1 = state_6; [L500] EXPR ((SORT_4)var_162_arg_0 << 8) | var_162_arg_1 [L500] SORT_4 var_162 = ((SORT_4)var_162_arg_0 << 8) | var_162_arg_1; [L501] EXPR var_162 & mask_SORT_4 [L501] var_162 = var_162 & mask_SORT_4 [L502] SORT_4 var_164_arg_0 = var_162; [L503] SORT_4 var_164_arg_1 = var_163; [L504] SORT_1 var_164 = var_164_arg_0 <= var_164_arg_1; [L505] SORT_1 var_165_arg_0 = ~state_159; [L506] EXPR var_165_arg_0 & mask_SORT_1 [L506] var_165_arg_0 = var_165_arg_0 & mask_SORT_1 [L507] SORT_1 var_165_arg_1 = ~var_164; [L508] EXPR var_165_arg_1 & mask_SORT_1 [L508] var_165_arg_1 = var_165_arg_1 & mask_SORT_1 [L509] EXPR var_165_arg_0 & var_165_arg_1 [L509] SORT_1 var_165 = var_165_arg_0 & var_165_arg_1; [L510] EXPR var_165 & mask_SORT_1 [L510] var_165 = var_165 & mask_SORT_1 [L511] SORT_1 bad_166_arg_0 = var_165; [L512] CALL __VERIFIER_assert(!(bad_166_arg_0)) [L21] COND TRUE !(cond) [L21] reach_error() * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.38ms. Allocated memory is still 117.4MB. Free memory is still 72.8MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 1246.01ms. Allocated memory was 142.6MB in the beginning and 335.5MB in the end (delta: 192.9MB). Free memory was 109.8MB in the beginning and 207.8MB in the end (delta: -97.9MB). Peak memory consumption was 139.5MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 1266.72ms. Allocated memory was 335.5MB in the beginning and 1.0GB in the end (delta: 671.1MB). Free memory was 207.8MB in the beginning and 607.9MB in the end (delta: -400.1MB). Peak memory consumption was 290.4MB. Max. memory is 16.1GB. * Boogie Preprocessor took 1323.88ms. Allocated memory is still 1.0GB. Free memory was 607.9MB in the beginning and 484.5MB in the end (delta: 123.4MB). Peak memory consumption was 125.8MB. Max. memory is 16.1GB. * RCFGBuilder took 62515.29ms. Allocated memory was 1.0GB in the beginning and 5.4GB in the end (delta: 4.4GB). Free memory was 484.5MB in the beginning and 3.8GB in the end (delta: -3.3GB). Peak memory consumption was 2.8GB. Max. memory is 16.1GB. * CodeCheck took 4424.70ms. Allocated memory is still 5.4GB. Free memory was 3.8GB in the beginning and 3.3GB in the end (delta: 486.5MB). Peak memory consumption was 486.5MB. Max. memory is 16.1GB. * Witness Printer took 4.48ms. Allocated memory is still 5.4GB. Free memory is still 3.3GB. There was no memory consumed. Max. memory is 16.1GB. RESULT: Ultimate could not prove your program: unable to determine feasibility of some traces [2024-12-06 02:26:09,948 INFO L552 MonitoredProcess]: [MP /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_1ecb8f71-e22a-4681-80dc-e524ef3f2fce/bin/ukojak-verify-CZk0znPC7b/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 (1)] Ended with exit code 0 Received shutdown request... --- End real Ultimate output --- Execution finished normally Using bit-precise analysis Retrying with bit-precise analysis ### Bit-precise run ### Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_1ecb8f71-e22a-4681-80dc-e524ef3f2fce/bin/ukojak-verify-CZk0znPC7b/data/config -Xmx15G -Xms4m -jar /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_1ecb8f71-e22a-4681-80dc-e524ef3f2fce/bin/ukojak-verify-CZk0znPC7b/plugins/org.eclipse.equinox.launcher_1.6.800.v20240513-1750.jar -data @noDefault -ultimatedata /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_1ecb8f71-e22a-4681-80dc-e524ef3f2fce/bin/ukojak-verify-CZk0znPC7b/data -tc /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_1ecb8f71-e22a-4681-80dc-e524ef3f2fce/bin/ukojak-verify-CZk0znPC7b/config/KojakReach.xml -i ../../sv-benchmarks/c/hardware-verification-bv/btor2c-lazyMod.extinction.1.prop1-func-interl.c -s /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_1ecb8f71-e22a-4681-80dc-e524ef3f2fce/bin/ukojak-verify-CZk0znPC7b/config/svcomp-Reach-64bit-Kojak_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_1ecb8f71-e22a-4681-80dc-e524ef3f2fce/bin/ukojak-verify-CZk0znPC7b --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 Kojak --witnessprinter.graph.data.architecture 64bit --witnessprinter.graph.data.programhash 8a0c70500e2bd83a121aaecd5906e653adb326671ed668009339cb988485240a --- Real Ultimate output --- This is Ultimate 0.3.0-dev-d790fec [2024-12-06 02:26:12,162 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-12-06 02:26:12,249 INFO L114 SettingsManager]: Loading settings from /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_1ecb8f71-e22a-4681-80dc-e524ef3f2fce/bin/ukojak-verify-CZk0znPC7b/config/svcomp-Reach-64bit-Kojak_Bitvector.epf [2024-12-06 02:26:12,278 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-12-06 02:26:12,279 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2024-12-06 02:26:12,279 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ALWAYS [2024-12-06 02:26:12,279 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-12-06 02:26:12,280 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-12-06 02:26:12,280 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-12-06 02:26:12,280 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2024-12-06 02:26:12,280 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-12-06 02:26:12,280 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2024-12-06 02:26:12,280 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2024-12-06 02:26:12,280 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2024-12-06 02:26:12,280 INFO L153 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2024-12-06 02:26:12,281 INFO L153 SettingsManager]: * Use bitvectors instead of ints=true [2024-12-06 02:26:12,281 INFO L153 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2024-12-06 02:26:12,281 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-12-06 02:26:12,281 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2024-12-06 02:26:12,281 INFO L153 SettingsManager]: * Use constant arrays=true [2024-12-06 02:26:12,281 INFO L151 SettingsManager]: Preferences of CodeCheck differ from their defaults: [2024-12-06 02:26:12,281 INFO L153 SettingsManager]: * Timeout in seconds=1000000 [2024-12-06 02:26:12,281 INFO L153 SettingsManager]: * Theory for external solver=ALL [2024-12-06 02:26:12,281 INFO L153 SettingsManager]: * Command for calling external solver=cvc4 --incremental --print-success --lang smt [2024-12-06 02:26:12,281 INFO L153 SettingsManager]: * Choose which separate solver to use for tracechecks=External_ModelsAndUnsatCoreMode [2024-12-06 02:26:12,282 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-12-06 02:26:12,282 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 [2024-12-06 02:26:12,282 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-12-06 02:26:12,282 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2024-12-06 02:26:12,282 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2024-12-06 02:26:12,282 INFO L153 SettingsManager]: * Trace refinement strategy=WALRUS [2024-12-06 02:26:12,282 INFO L153 SettingsManager]: * Command for external solver=cvc4 --incremental --print-success --lang smt [2024-12-06 02:26:12,282 INFO L153 SettingsManager]: * Use separate solver for trace checks=false [2024-12-06 02:26:12,282 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_1ecb8f71-e22a-4681-80dc-e524ef3f2fce/bin/ukojak-verify-CZk0znPC7b 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 -> Kojak Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 64bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 8a0c70500e2bd83a121aaecd5906e653adb326671ed668009339cb988485240a [2024-12-06 02:26:12,557 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-12-06 02:26:12,566 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-12-06 02:26:12,568 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-12-06 02:26:12,569 INFO L270 PluginConnector]: Initializing CDTParser... [2024-12-06 02:26:12,570 INFO L274 PluginConnector]: CDTParser initialized [2024-12-06 02:26:12,571 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_1ecb8f71-e22a-4681-80dc-e524ef3f2fce/bin/ukojak-verify-CZk0znPC7b/../../sv-benchmarks/c/hardware-verification-bv/btor2c-lazyMod.extinction.1.prop1-func-interl.c [2024-12-06 02:26:15,348 INFO L533 CDTParser]: Created temporary CDT project at /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_1ecb8f71-e22a-4681-80dc-e524ef3f2fce/bin/ukojak-verify-CZk0znPC7b/data/576dc4eca/a6cb3c91e0c149f78d43822f639c89fb/FLAGcb7d2c27f [2024-12-06 02:26:15,683 INFO L384 CDTParser]: Found 1 translation units. [2024-12-06 02:26:15,684 INFO L180 CDTParser]: Scanning /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_1ecb8f71-e22a-4681-80dc-e524ef3f2fce/sv-benchmarks/c/hardware-verification-bv/btor2c-lazyMod.extinction.1.prop1-func-interl.c [2024-12-06 02:26:15,702 INFO L427 CDTParser]: About to delete temporary CDT project at /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_1ecb8f71-e22a-4681-80dc-e524ef3f2fce/bin/ukojak-verify-CZk0znPC7b/data/576dc4eca/a6cb3c91e0c149f78d43822f639c89fb/FLAGcb7d2c27f [2024-12-06 02:26:15,715 INFO L435 CDTParser]: Successfully deleted /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_1ecb8f71-e22a-4681-80dc-e524ef3f2fce/bin/ukojak-verify-CZk0znPC7b/data/576dc4eca/a6cb3c91e0c149f78d43822f639c89fb [2024-12-06 02:26:15,717 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-12-06 02:26:15,718 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2024-12-06 02:26:15,719 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-12-06 02:26:15,719 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-12-06 02:26:15,723 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-12-06 02:26:15,724 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 06.12 02:26:15" (1/1) ... [2024-12-06 02:26:15,725 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@2c4f53c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.12 02:26:15, skipping insertion in model container [2024-12-06 02:26:15,725 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 06.12 02:26:15" (1/1) ... [2024-12-06 02:26:15,788 INFO L175 MainTranslator]: Built tables and reachable declarations [2024-12-06 02:26:15,957 WARN L250 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_1ecb8f71-e22a-4681-80dc-e524ef3f2fce/sv-benchmarks/c/hardware-verification-bv/btor2c-lazyMod.extinction.1.prop1-func-interl.c[1177,1190] [2024-12-06 02:26:16,366 INFO L210 PostProcessor]: Analyzing one entry point: main [2024-12-06 02:26:16,377 INFO L200 MainTranslator]: Completed pre-run [2024-12-06 02:26:16,387 WARN L250 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_1ecb8f71-e22a-4681-80dc-e524ef3f2fce/sv-benchmarks/c/hardware-verification-bv/btor2c-lazyMod.extinction.1.prop1-func-interl.c[1177,1190] [2024-12-06 02:26:16,684 INFO L210 PostProcessor]: Analyzing one entry point: main [2024-12-06 02:26:16,699 INFO L204 MainTranslator]: Completed translation [2024-12-06 02:26:16,699 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.12 02:26:16 WrapperNode [2024-12-06 02:26:16,699 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-12-06 02:26:16,700 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2024-12-06 02:26:16,701 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2024-12-06 02:26:16,701 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2024-12-06 02:26:16,724 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.12 02:26:16" (1/1) ... [2024-12-06 02:26:16,772 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.12 02:26:16" (1/1) ... [2024-12-06 02:26:16,923 INFO L138 Inliner]: procedures = 17, calls = 8, calls flagged for inlining = 3, calls inlined = 3, statements flattened = 5406 [2024-12-06 02:26:16,923 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2024-12-06 02:26:16,924 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-12-06 02:26:16,924 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-12-06 02:26:16,924 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-12-06 02:26:16,931 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.12 02:26:16" (1/1) ... [2024-12-06 02:26:16,931 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.12 02:26:16" (1/1) ... [2024-12-06 02:26:16,961 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.12 02:26:16" (1/1) ... [2024-12-06 02:26:16,962 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.12 02:26:16" (1/1) ... [2024-12-06 02:26:17,090 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.12 02:26:16" (1/1) ... [2024-12-06 02:26:17,097 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.12 02:26:16" (1/1) ... [2024-12-06 02:26:17,104 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.12 02:26:16" (1/1) ... [2024-12-06 02:26:17,120 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.12 02:26:16" (1/1) ... [2024-12-06 02:26:17,131 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.12 02:26:16" (1/1) ... [2024-12-06 02:26:17,158 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-12-06 02:26:17,159 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2024-12-06 02:26:17,159 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2024-12-06 02:26:17,159 INFO L274 PluginConnector]: RCFGBuilder initialized [2024-12-06 02:26:17,160 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.12 02:26:16" (1/1) ... [2024-12-06 02:26:17,166 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 [2024-12-06 02:26:17,178 INFO L189 MonitoredProcess]: No working directory specified, using /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_1ecb8f71-e22a-4681-80dc-e524ef3f2fce/bin/ukojak-verify-CZk0znPC7b/z3 [2024-12-06 02:26:17,191 INFO L229 MonitoredProcess]: Starting monitored process 1 with /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_1ecb8f71-e22a-4681-80dc-e524ef3f2fce/bin/ukojak-verify-CZk0znPC7b/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 (exit command is (exit), workingDir is null) [2024-12-06 02:26:17,194 INFO L327 MonitoredProcess]: [MP /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_1ecb8f71-e22a-4681-80dc-e524ef3f2fce/bin/ukojak-verify-CZk0znPC7b/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 (1)] Waiting until timeout for monitored process [2024-12-06 02:26:17,220 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2024-12-06 02:26:17,220 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1 [2024-12-06 02:26:17,221 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-12-06 02:26:17,221 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-12-06 02:26:17,992 INFO L234 CfgBuilder]: Building ICFG [2024-12-06 02:26:17,994 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2024-12-06 02:26:25,007 INFO L? ?]: Removed 175 outVars from TransFormulas that were not future-live. [2024-12-06 02:26:25,008 INFO L283 CfgBuilder]: Performing block encoding [2024-12-06 02:26:25,182 INFO L307 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2024-12-06 02:26:25,182 INFO L312 CfgBuilder]: Removed 1 assume(true) statements. [2024-12-06 02:26:25,183 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 06.12 02:26:25 BoogieIcfgContainer [2024-12-06 02:26:25,183 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2024-12-06 02:26:25,184 INFO L112 PluginConnector]: ------------------------CodeCheck---------------------------- [2024-12-06 02:26:25,184 INFO L270 PluginConnector]: Initializing CodeCheck... [2024-12-06 02:26:25,194 INFO L274 PluginConnector]: CodeCheck initialized [2024-12-06 02:26:25,194 INFO L184 PluginConnector]: Executing the observer CodeCheckObserver from plugin CodeCheck for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 06.12 02:26:25" (1/1) ... [2024-12-06 02:26:25,202 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-12-06 02:26:25,239 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2024-12-06 02:26:25,243 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 7 states and 8 transitions. [2024-12-06 02:26:25,244 INFO L276 IsEmpty]: Start isEmpty. Operand 7 states and 8 transitions. [2024-12-06 02:26:25,246 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2024-12-06 02:26:25,246 INFO L420 CodeCheckObserver]: Error Path is FOUND. [2024-12-06 02:26:25,247 INFO L173 SolverBuilder]: Constructing external solver with command: cvc4 --incremental --print-success --lang smt [2024-12-06 02:26:25,247 INFO L189 MonitoredProcess]: No working directory specified, using /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_1ecb8f71-e22a-4681-80dc-e524ef3f2fce/bin/ukojak-verify-CZk0znPC7b/cvc4 [2024-12-06 02:26:25,249 INFO L229 MonitoredProcess]: Starting monitored process 2 with /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_1ecb8f71-e22a-4681-80dc-e524ef3f2fce/bin/ukojak-verify-CZk0znPC7b/cvc4 --incremental --print-success --lang smt (exit command is (exit), workingDir is null) [2024-12-06 02:26:25,250 INFO L327 MonitoredProcess]: [MP /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_1ecb8f71-e22a-4681-80dc-e524ef3f2fce/bin/ukojak-verify-CZk0znPC7b/cvc4 --incremental --print-success --lang smt (2)] Waiting until timeout for monitored process [2024-12-06 02:26:26,418 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-12-06 02:26:26,421 ERROR L568 CodeCheckObserver]: First Tracecheck threw exception Proofs are not supported [2024-12-06 02:26:26,702 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-12-06 02:26:26,709 INFO L256 TraceCheckSpWp]: Trace formula consists of 170 conjuncts, 16 conjuncts are in the unsatisfiable core [2024-12-06 02:26:26,722 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2024-12-06 02:26:26,917 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-12-06 02:26:26,935 INFO L552 MonitoredProcess]: [MP /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_1ecb8f71-e22a-4681-80dc-e524ef3f2fce/bin/ukojak-verify-CZk0znPC7b/cvc4 --incremental --print-success --lang smt (2)] Ended with exit code 0 [2024-12-06 02:26:28,326 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.32s for a HTC check with result INVALID. Formula has sorts [Bool, BitVec], hasArrays=false, hasNonlinArith=false, quantifiers [] [2024-12-06 02:26:28,568 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2024-12-06 02:26:28,568 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 8 states and 10 transitions. [2024-12-06 02:26:28,568 INFO L276 IsEmpty]: Start isEmpty. Operand 8 states and 10 transitions. [2024-12-06 02:26:28,568 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2024-12-06 02:26:28,569 INFO L420 CodeCheckObserver]: Error Path is FOUND. [2024-12-06 02:26:28,569 INFO L173 SolverBuilder]: Constructing external solver with command: cvc4 --incremental --print-success --lang smt [2024-12-06 02:26:28,569 INFO L189 MonitoredProcess]: No working directory specified, using /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_1ecb8f71-e22a-4681-80dc-e524ef3f2fce/bin/ukojak-verify-CZk0znPC7b/cvc4 [2024-12-06 02:26:28,571 INFO L229 MonitoredProcess]: Starting monitored process 3 with /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_1ecb8f71-e22a-4681-80dc-e524ef3f2fce/bin/ukojak-verify-CZk0znPC7b/cvc4 --incremental --print-success --lang smt (exit command is (exit), workingDir is null) [2024-12-06 02:26:28,572 INFO L327 MonitoredProcess]: [MP /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_1ecb8f71-e22a-4681-80dc-e524ef3f2fce/bin/ukojak-verify-CZk0znPC7b/cvc4 --incremental --print-success --lang smt (3)] Waiting until timeout for monitored process [2024-12-06 02:26:31,230 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-12-06 02:26:31,234 ERROR L568 CodeCheckObserver]: First Tracecheck threw exception Proofs are not supported [2024-12-06 02:26:31,916 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-12-06 02:26:31,967 INFO L256 TraceCheckSpWp]: Trace formula consists of 306 conjuncts, 32 conjuncts are in the unsatisfiable core [2024-12-06 02:26:31,996 INFO L279 TraceCheckSpWp]: Computing forward predicates...