./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/seq-mthreaded/rekcba_nxt.1.M1-1.c --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 48c9605d Calling Ultimate with: /root/.sdkman/candidates/java/21.0.5-tem/bin/java -Dosgi.configuration.area=/storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.6.800.v20240513-1750.jar -data @noDefault -ultimatedata /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/seq-mthreaded/rekcba_nxt.1.M1-1.c -s /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(reach_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash f077881e7f4fa96e31e8798f1b4a7ec1ee00f86778c2b79845cdeaf2537e700e --- Real Ultimate output --- This is Ultimate 0.3.0-?-48c9605-m [2025-02-07 21:17:00,425 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-02-07 21:17:00,503 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2025-02-07 21:17:00,509 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-02-07 21:17:00,510 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-02-07 21:17:00,531 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-02-07 21:17:00,531 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-02-07 21:17:00,531 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-02-07 21:17:00,531 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2025-02-07 21:17:00,532 INFO L153 SettingsManager]: * Use memory slicer=true [2025-02-07 21:17:00,532 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2025-02-07 21:17:00,532 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2025-02-07 21:17:00,532 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-02-07 21:17:00,532 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-02-07 21:17:00,532 INFO L153 SettingsManager]: * Use SBE=true [2025-02-07 21:17:00,532 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-02-07 21:17:00,532 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2025-02-07 21:17:00,532 INFO L153 SettingsManager]: * sizeof long=4 [2025-02-07 21:17:00,536 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2025-02-07 21:17:00,536 INFO L153 SettingsManager]: * sizeof POINTER=4 [2025-02-07 21:17:00,537 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-02-07 21:17:00,537 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2025-02-07 21:17:00,537 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2025-02-07 21:17:00,537 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2025-02-07 21:17:00,537 INFO L153 SettingsManager]: * sizeof long double=12 [2025-02-07 21:17:00,537 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-02-07 21:17:00,537 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-02-07 21:17:00,537 INFO L153 SettingsManager]: * Use constant arrays=true [2025-02-07 21:17:00,537 INFO L151 SettingsManager]: Preferences of IcfgBuilder differ from their defaults: [2025-02-07 21:17:00,537 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-02-07 21:17:00,537 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-02-07 21:17:00,537 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-02-07 21:17:00,537 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-02-07 21:17:00,537 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-02-07 21:17:00,537 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2025-02-07 21:17:00,537 INFO L153 SettingsManager]: * Compute procedure contracts=false [2025-02-07 21:17:00,537 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2025-02-07 21:17:00,537 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2025-02-07 21:17:00,537 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2025-02-07 21:17:00,537 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2025-02-07 21:17:00,537 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2025-02-07 21:17:00,537 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2025-02-07 21:17:00,537 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2025-02-07 21:17:00,537 INFO L153 SettingsManager]: * Looper check in Petri net analysis=SEMANTIC Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! call(reach_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> f077881e7f4fa96e31e8798f1b4a7ec1ee00f86778c2b79845cdeaf2537e700e [2025-02-07 21:17:00,829 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-02-07 21:17:00,836 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-02-07 21:17:00,839 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-02-07 21:17:00,840 INFO L270 PluginConnector]: Initializing CDTParser... [2025-02-07 21:17:00,840 INFO L274 PluginConnector]: CDTParser initialized [2025-02-07 21:17:00,842 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/seq-mthreaded/rekcba_nxt.1.M1-1.c [2025-02-07 21:17:02,024 INFO L533 CDTParser]: Created temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/cfc294acc/e5ca3432a3d74969b5fe5af8ba9631f6/FLAGa71c509ae [2025-02-07 21:17:02,411 INFO L384 CDTParser]: Found 1 translation units. [2025-02-07 21:17:02,412 INFO L180 CDTParser]: Scanning /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/seq-mthreaded/rekcba_nxt.1.M1-1.c [2025-02-07 21:17:02,443 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/cfc294acc/e5ca3432a3d74969b5fe5af8ba9631f6/FLAGa71c509ae [2025-02-07 21:17:02,627 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/cfc294acc/e5ca3432a3d74969b5fe5af8ba9631f6 [2025-02-07 21:17:02,629 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-02-07 21:17:02,630 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2025-02-07 21:17:02,634 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-02-07 21:17:02,634 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-02-07 21:17:02,638 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-02-07 21:17:02,638 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 07.02 09:17:02" (1/1) ... [2025-02-07 21:17:02,639 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6a72c02b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 09:17:02, skipping insertion in model container [2025-02-07 21:17:02,639 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 07.02 09:17:02" (1/1) ... [2025-02-07 21:17:02,679 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-02-07 21:17:02,809 WARN L250 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/seq-mthreaded/rekcba_nxt.1.M1-1.c[1674,1687] [2025-02-07 21:17:03,025 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-02-07 21:17:03,039 INFO L200 MainTranslator]: Completed pre-run [2025-02-07 21:17:03,047 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"/tmp/aaaa/nxt.bug1.i","-S") [42] [2025-02-07 21:17:03,052 WARN L250 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/seq-mthreaded/rekcba_nxt.1.M1-1.c[1674,1687] [2025-02-07 21:17:03,165 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-02-07 21:17:03,186 INFO L204 MainTranslator]: Completed translation [2025-02-07 21:17:03,187 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 09:17:03 WrapperNode [2025-02-07 21:17:03,188 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-02-07 21:17:03,189 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-02-07 21:17:03,189 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-02-07 21:17:03,189 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-02-07 21:17:03,193 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 09:17:03" (1/1) ... [2025-02-07 21:17:03,241 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 09:17:03" (1/1) ... [2025-02-07 21:17:03,378 INFO L138 Inliner]: procedures = 57, calls = 1828, calls flagged for inlining = 24, calls inlined = 24, statements flattened = 3990 [2025-02-07 21:17:03,379 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-02-07 21:17:03,380 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-02-07 21:17:03,380 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-02-07 21:17:03,380 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-02-07 21:17:03,386 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 09:17:03" (1/1) ... [2025-02-07 21:17:03,386 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 09:17:03" (1/1) ... [2025-02-07 21:17:03,411 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 09:17:03" (1/1) ... [2025-02-07 21:17:03,455 INFO L175 MemorySlicer]: Split 1382 memory accesses to 17 slices as follows [2, 8, 264, 305, 156, 113, 79, 57, 2, 83, 105, 4, 82, 105, 8, 7, 2]. 22 percent of accesses are in the largest equivalence class. The 166 initializations are split as follows [2, 0, 24, 24, 2, 2, 1, 1, 0, 27, 27, 0, 27, 27, 0, 2, 0]. The 175 writes are split as follows [0, 4, 24, 24, 2, 2, 1, 1, 1, 28, 26, 0, 28, 26, 4, 3, 1]. [2025-02-07 21:17:03,455 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 09:17:03" (1/1) ... [2025-02-07 21:17:03,455 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 09:17:03" (1/1) ... [2025-02-07 21:17:03,543 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 09:17:03" (1/1) ... [2025-02-07 21:17:03,556 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 09:17:03" (1/1) ... [2025-02-07 21:17:03,576 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 09:17:03" (1/1) ... [2025-02-07 21:17:03,588 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 09:17:03" (1/1) ... [2025-02-07 21:17:03,617 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-02-07 21:17:03,618 INFO L112 PluginConnector]: ------------------------IcfgBuilder---------------------------- [2025-02-07 21:17:03,618 INFO L270 PluginConnector]: Initializing IcfgBuilder... [2025-02-07 21:17:03,618 INFO L274 PluginConnector]: IcfgBuilder initialized [2025-02-07 21:17:03,619 INFO L184 PluginConnector]: Executing the observer IcfgBuilderObserver from plugin IcfgBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 09:17:03" (1/1) ... [2025-02-07 21:17:03,623 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-02-07 21:17:03,632 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-07 21:17:03,648 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (exit command is (exit), workingDir is null) [2025-02-07 21:17:03,657 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (1)] Waiting until timeout for monitored process [2025-02-07 21:17:03,755 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2025-02-07 21:17:03,755 INFO L130 BoogieDeclarations]: Found specification of procedure __startrek_cs_t2 [2025-02-07 21:17:03,755 INFO L138 BoogieDeclarations]: Found implementation of procedure __startrek_cs_t2 [2025-02-07 21:17:03,755 INFO L130 BoogieDeclarations]: Found specification of procedure __startrek_write_nxtway_gs_mode [2025-02-07 21:17:03,756 INFO L138 BoogieDeclarations]: Found implementation of procedure __startrek_write_nxtway_gs_mode [2025-02-07 21:17:03,756 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2025-02-07 21:17:03,756 INFO L130 BoogieDeclarations]: Found specification of procedure __startrek_cs_t0 [2025-02-07 21:17:03,756 INFO L138 BoogieDeclarations]: Found implementation of procedure __startrek_cs_t0 [2025-02-07 21:17:03,756 INFO L130 BoogieDeclarations]: Found specification of procedure __startrek_cs_t1 [2025-02-07 21:17:03,756 INFO L138 BoogieDeclarations]: Found implementation of procedure __startrek_cs_t1 [2025-02-07 21:17:03,756 INFO L130 BoogieDeclarations]: Found specification of procedure __startrek_write_obstacle_flag [2025-02-07 21:17:03,756 INFO L138 BoogieDeclarations]: Found implementation of procedure __startrek_write_obstacle_flag [2025-02-07 21:17:03,756 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#0 [2025-02-07 21:17:03,756 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#1 [2025-02-07 21:17:03,756 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#2 [2025-02-07 21:17:03,756 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#3 [2025-02-07 21:17:03,756 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#4 [2025-02-07 21:17:03,757 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#5 [2025-02-07 21:17:03,757 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#6 [2025-02-07 21:17:03,758 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#7 [2025-02-07 21:17:03,758 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#8 [2025-02-07 21:17:03,758 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#9 [2025-02-07 21:17:03,758 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#10 [2025-02-07 21:17:03,758 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#11 [2025-02-07 21:17:03,758 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#12 [2025-02-07 21:17:03,759 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#13 [2025-02-07 21:17:03,759 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#14 [2025-02-07 21:17:03,759 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#15 [2025-02-07 21:17:03,759 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#16 [2025-02-07 21:17:03,759 INFO L130 BoogieDeclarations]: Found specification of procedure nxt_motor_set_count [2025-02-07 21:17:03,759 INFO L138 BoogieDeclarations]: Found implementation of procedure nxt_motor_set_count [2025-02-07 21:17:03,759 INFO L130 BoogieDeclarations]: Found specification of procedure ecrobot_get_gyro_sensor [2025-02-07 21:17:03,759 INFO L138 BoogieDeclarations]: Found implementation of procedure ecrobot_get_gyro_sensor [2025-02-07 21:17:03,759 INFO L130 BoogieDeclarations]: Found specification of procedure __startrek_entry_pt_OSEK_Task_ts1 [2025-02-07 21:17:03,760 INFO L138 BoogieDeclarations]: Found implementation of procedure __startrek_entry_pt_OSEK_Task_ts1 [2025-02-07 21:17:03,760 INFO L130 BoogieDeclarations]: Found specification of procedure __startrek_entry_pt_OSEK_Task_ts2 [2025-02-07 21:17:03,760 INFO L138 BoogieDeclarations]: Found implementation of procedure __startrek_entry_pt_OSEK_Task_ts2 [2025-02-07 21:17:03,760 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2025-02-07 21:17:03,760 INFO L130 BoogieDeclarations]: Found specification of procedure __startrek_entry_pt_OSEK_Task_Background [2025-02-07 21:17:03,760 INFO L138 BoogieDeclarations]: Found implementation of procedure __startrek_entry_pt_OSEK_Task_Background [2025-02-07 21:17:03,760 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#0 [2025-02-07 21:17:03,760 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#1 [2025-02-07 21:17:03,760 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#2 [2025-02-07 21:17:03,760 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#3 [2025-02-07 21:17:03,761 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#4 [2025-02-07 21:17:03,761 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#5 [2025-02-07 21:17:03,761 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#6 [2025-02-07 21:17:03,761 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#7 [2025-02-07 21:17:03,761 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#8 [2025-02-07 21:17:03,761 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#9 [2025-02-07 21:17:03,761 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#10 [2025-02-07 21:17:03,761 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#11 [2025-02-07 21:17:03,761 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#12 [2025-02-07 21:17:03,761 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#13 [2025-02-07 21:17:03,761 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#14 [2025-02-07 21:17:03,761 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#15 [2025-02-07 21:17:03,761 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#16 [2025-02-07 21:17:03,761 INFO L130 BoogieDeclarations]: Found specification of procedure nxt_motor_set_speed [2025-02-07 21:17:03,761 INFO L138 BoogieDeclarations]: Found implementation of procedure nxt_motor_set_speed [2025-02-07 21:17:03,761 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2025-02-07 21:17:03,761 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2025-02-07 21:17:03,761 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2025-02-07 21:17:03,761 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#1 [2025-02-07 21:17:03,761 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#2 [2025-02-07 21:17:03,761 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#3 [2025-02-07 21:17:03,761 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#4 [2025-02-07 21:17:03,761 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#5 [2025-02-07 21:17:03,761 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#6 [2025-02-07 21:17:03,761 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#7 [2025-02-07 21:17:03,761 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#8 [2025-02-07 21:17:03,762 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#9 [2025-02-07 21:17:03,762 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#10 [2025-02-07 21:17:03,762 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#11 [2025-02-07 21:17:03,762 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#12 [2025-02-07 21:17:03,762 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#13 [2025-02-07 21:17:03,762 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#14 [2025-02-07 21:17:03,762 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#15 [2025-02-07 21:17:03,762 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#16 [2025-02-07 21:17:03,762 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-02-07 21:17:03,762 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-02-07 21:17:03,762 INFO L130 BoogieDeclarations]: Found specification of procedure ecrobot_get_systick_ms [2025-02-07 21:17:03,762 INFO L138 BoogieDeclarations]: Found implementation of procedure ecrobot_get_systick_ms [2025-02-07 21:17:03,762 INFO L130 BoogieDeclarations]: Found specification of procedure nxt_motor_get_count [2025-02-07 21:17:03,762 INFO L138 BoogieDeclarations]: Found implementation of procedure nxt_motor_get_count [2025-02-07 21:17:03,762 INFO L130 BoogieDeclarations]: Found specification of procedure __startrek_read_nxtway_gs_mode [2025-02-07 21:17:03,762 INFO L138 BoogieDeclarations]: Found implementation of procedure __startrek_read_nxtway_gs_mode [2025-02-07 21:17:04,162 INFO L257 CfgBuilder]: Building ICFG [2025-02-07 21:17:04,164 INFO L287 CfgBuilder]: Building CFG for each procedure with an implementation [2025-02-07 21:17:04,530 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L258-1: assume { :begin_inline_ecrobot_get_battery_voltage } true;havoc ecrobot_get_battery_voltage_#res#1;havoc ecrobot_get_battery_voltage_#t~nondet30#1, ecrobot_get_battery_voltage_~tmp~3#1;havoc ecrobot_get_battery_voltage_~tmp~3#1;havoc ecrobot_get_battery_voltage_#t~nondet30#1;ecrobot_get_battery_voltage_~tmp~3#1 := ecrobot_get_battery_voltage_#t~nondet30#1;havoc ecrobot_get_battery_voltage_#t~nondet30#1;ecrobot_get_battery_voltage_#res#1 := ecrobot_get_battery_voltage_~tmp~3#1; [2025-02-07 21:17:04,530 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L250: havoc ecrobot_read_bt_packet_#t~nondet28#1, ecrobot_read_bt_packet_#t~nondet29#1, ecrobot_read_bt_packet_~bt_receive_buf#1.base, ecrobot_read_bt_packet_~bt_receive_buf#1.offset, ecrobot_read_bt_packet_~sz#1;havoc ecrobot_read_bt_packet_#in~bt_receive_buf#1.base, ecrobot_read_bt_packet_#in~bt_receive_buf#1.offset, ecrobot_read_bt_packet_#in~sz#1;assume { :end_inline_ecrobot_read_bt_packet } true;call OSEK_Task_ts1_#t~mem40#1 := read~int#15(~#bt_receive_buf~0.base, ~#bt_receive_buf~0.offset, 1);OSEK_Task_ts1_~cmd_forward~0#1 := (if -(if OSEK_Task_ts1_#t~mem40#1 % 256 % 256 <= 127 then OSEK_Task_ts1_#t~mem40#1 % 256 % 256 else OSEK_Task_ts1_#t~mem40#1 % 256 % 256 - 256) % 256 <= 127 then -(if OSEK_Task_ts1_#t~mem40#1 % 256 % 256 <= 127 then OSEK_Task_ts1_#t~mem40#1 % 256 % 256 else OSEK_Task_ts1_#t~mem40#1 % 256 % 256 - 256) % 256 else -(if OSEK_Task_ts1_#t~mem40#1 % 256 % 256 <= 127 then OSEK_Task_ts1_#t~mem40#1 % 256 % 256 else OSEK_Task_ts1_#t~mem40#1 % 256 % 256 - 256) % 256 - 256);call OSEK_Task_ts1_#t~mem41#1 := read~int#15(~#bt_receive_buf~0.base, 1 + ~#bt_receive_buf~0.offset, 1);OSEK_Task_ts1_~cmd_turn~0#1 := (if OSEK_Task_ts1_#t~mem41#1 % 256 % 256 <= 127 then OSEK_Task_ts1_#t~mem41#1 % 256 % 256 else OSEK_Task_ts1_#t~mem41#1 % 256 % 256 - 256);assume { :begin_inline___startrek_read_obstacle_flag } true;havoc __startrek_read_obstacle_flag_#res#1;havoc __startrek_read_obstacle_flag_#t~switch1197#1, __startrek_read_obstacle_flag_#t~ret1198#1, __startrek_read_obstacle_flag_#t~ret1199#1, __startrek_read_obstacle_flag_#t~ret1200#1, __startrek_read_obstacle_flag_#t~mem1201#1, __startrek_read_obstacle_flag_~r1~1#1, __startrek_read_obstacle_flag_~c2~1#1, __startrek_read_obstacle_flag_~or3~1#1;havoc __startrek_read_obstacle_flag_~r1~1#1;havoc __startrek_read_obstacle_flag_~c2~1#1;havoc __startrek_read_obstacle_flag_~or3~1#1;__startrek_read_obstacle_flag_#t~switch1197#1 := 0 == (if ~__startrek_task~0 % 256 % 4294967296 <= 2147483647 then ~__startrek_task~0 % 256 % 4294967296 else ~__startrek_task~0 % 256 % 4294967296 - 4294967296); [2025-02-07 21:17:04,531 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1815-1: assume __startrek_read_obstacle_flag_#t~switch1197#1;__startrek_read_obstacle_flag_~or3~1#1 := ~__startrek_round~0; [2025-02-07 21:17:04,531 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1815-1: assume !__startrek_read_obstacle_flag_#t~switch1197#1;havoc __startrek_read_obstacle_flag_#t~switch1197#1;havoc __startrek_read_obstacle_flag_#t~switch1197#1;call __startrek_read_obstacle_flag_#t~mem1201#1 := read~int#12(~#_obstacle_flag_~0.base, ~#_obstacle_flag_~0.offset + (if ~__startrek_round~0 % 256 % 4294967296 <= 2147483647 then ~__startrek_round~0 % 256 % 4294967296 else ~__startrek_round~0 % 256 % 4294967296 - 4294967296), 1);__startrek_read_obstacle_flag_~r1~1#1 := (if 0 == __startrek_read_obstacle_flag_#t~mem1201#1 % 256 then 0 else 1);havoc __startrek_read_obstacle_flag_#t~mem1201#1;__startrek_read_obstacle_flag_#res#1 := (if 0 == __startrek_read_obstacle_flag_~r1~1#1 % 256 then 0 else 1); [2025-02-07 21:17:04,531 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L246: SUMMARY for call __startrek_write_nxtway_gs_mode(2); srcloc: null [2025-02-07 21:17:04,531 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L209: call ULTIMATE.dealloc(OSEK_Task_ts1_~#pwm_l~0#1.base, OSEK_Task_ts1_~#pwm_l~0#1.offset);havoc OSEK_Task_ts1_~#pwm_l~0#1.base, OSEK_Task_ts1_~#pwm_l~0#1.offset;call ULTIMATE.dealloc(OSEK_Task_ts1_~#pwm_r~0#1.base, OSEK_Task_ts1_~#pwm_r~0#1.offset);havoc OSEK_Task_ts1_~#pwm_r~0#1.base, OSEK_Task_ts1_~#pwm_r~0#1.offset; [2025-02-07 21:17:04,531 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L267: havoc ecrobot_bt_data_logger_~arg0#1, ecrobot_bt_data_logger_~arg1#1;havoc ecrobot_bt_data_logger_#in~arg0#1, ecrobot_bt_data_logger_#in~arg1#1;assume { :end_inline_ecrobot_bt_data_logger } true; [2025-02-07 21:17:04,531 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L234: ~cal_start_time~0 := OSEK_Task_ts1_#t~ret36#1; [2025-02-07 21:17:04,532 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L234-1: SUMMARY for call OSEK_Task_ts1_#t~ret36#1 := ecrobot_get_systick_ms(); srcloc: null [2025-02-07 21:17:04,532 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L259: assume -128 <= OSEK_Task_ts1_#t~ret44#1 && OSEK_Task_ts1_#t~ret44#1 <= 127;OSEK_Task_ts1_~tmp___4~0#1 := OSEK_Task_ts1_#t~ret44#1; [2025-02-07 21:17:04,532 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L259-1: SUMMARY for call OSEK_Task_ts1_#t~ret44#1 := nxt_motor_get_count(1); srcloc: null [2025-02-07 21:17:04,532 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L82: call ULTIMATE.dealloc(balance_control_~#tmp~0#1.base, balance_control_~#tmp~0#1.offset);havoc balance_control_~#tmp~0#1.base, balance_control_~#tmp~0#1.offset;call ULTIMATE.dealloc(balance_control_~#tmp_theta_0~0#1.base, balance_control_~#tmp_theta_0~0#1.offset);havoc balance_control_~#tmp_theta_0~0#1.base, balance_control_~#tmp_theta_0~0#1.offset;havoc balance_control_#t~mem4#1, balance_control_#t~mem5#1, balance_control_#t~mem6#1, balance_control_#t~post7#1, balance_control_#t~mem8#1, balance_control_#t~mem9#1, balance_control_#t~mem10#1, balance_control_#t~post11#1, balance_control_#t~mem12#1, balance_control_#t~mem13#1, balance_control_#t~mem14#1, balance_control_#t~post15#1, balance_control_#t~mem16#1, balance_control_#t~mem17#1, balance_control_#t~mem18#1, balance_control_#t~post19#1, balance_control_#t~nondet20#1, balance_control_#t~nondet21#1, balance_control_~args_cmd_forward#1, balance_control_~args_cmd_turn#1, balance_control_~args_gyro#1, balance_control_~args_gyro_offset#1, balance_control_~args_theta_m_l#1, balance_control_~args_theta_m_r#1, balance_control_~args_battery#1, balance_control_~ret_pwm_l#1.base, balance_control_~ret_pwm_l#1.offset, balance_control_~ret_pwm_r#1.base, balance_control_~ret_pwm_r#1.offset, balance_control_~tmp_theta~0#1, balance_control_~tmp_theta_lpf~0#1, balance_control_~tmp_pwm_r_limiter~0#1, balance_control_~tmp_psidot~0#1, balance_control_~tmp_pwm_turn~0#1, balance_control_~tmp_pwm_l_limiter~0#1, balance_control_~tmp_thetadot_cmd_lpf~0#1, balance_control_~#tmp~0#1.base, balance_control_~#tmp~0#1.offset, balance_control_~#tmp_theta_0~0#1.base, balance_control_~#tmp_theta_0~0#1.offset, balance_control_~tmp_0~0#1, balance_control_~tmp___0~0#1, balance_control_~tmp___1~0#1;havoc balance_control_#in~args_cmd_forward#1, balance_control_#in~args_cmd_turn#1, balance_control_#in~args_gyro#1, balance_control_#in~args_gyro_offset#1, balance_control_#in~args_theta_m_l#1, balance_control_#in~args_theta_m_r#1, balance_control_#in~args_battery#1, balance_control_#in~ret_pwm_l#1.base, balance_control_#in~ret_pwm_l#1.offset, balance_control_#in~ret_pwm_r#1.base, balance_control_#in~ret_pwm_r#1.offset;assume { :end_inline_balance_control } true;call OSEK_Task_ts1_#t~mem47#1 := read~int#16(OSEK_Task_ts1_~#pwm_l~0#1.base, OSEK_Task_ts1_~#pwm_l~0#1.offset, 1); [2025-02-07 21:17:04,532 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L111: balance_control_~tmp_pwm_r_limiter~0#1 := ~convertFLOATToUINT(~someBinaryArithmeticFLOAToperation(~convertUINTToFLOAT((~K_I~0 * ~ud_err_theta~0 + balance_control_~tmp_pwm_r_limiter~0#1) % 4294967296 / ((~BATTERY_GAIN~0 * balance_control_~args_battery#1 - ~BATTERY_OFFSET~0) % 4294967296)), 100.0));balance_control_~tmp_pwm_turn~0#1 := ~convertFLOATToUINT(~someBinaryArithmeticFLOAToperation(~someBinaryArithmeticFLOAToperation(~convertUINTToFLOAT(balance_control_~args_cmd_turn#1), 100.0), ~convertUINTToFLOAT(~K_PHIDOT~0)));balance_control_~tmp_pwm_l_limiter~0#1 := balance_control_~tmp_pwm_r_limiter~0#1 + balance_control_~tmp_pwm_turn~0#1;havoc balance_control_#t~nondet20#1;assume -2147483648 <= balance_control_#t~nondet20#1 && balance_control_#t~nondet20#1 <= 2147483647;balance_control_~tmp___0~0#1 := balance_control_#t~nondet20#1;havoc balance_control_#t~nondet20#1;balance_control_~tmp_pwm_l_limiter~0#1 := balance_control_~tmp___0~0#1;call write~int#16((if balance_control_~tmp_pwm_l_limiter~0#1 % 4294967296 % 256 <= 127 then balance_control_~tmp_pwm_l_limiter~0#1 % 4294967296 % 256 else balance_control_~tmp_pwm_l_limiter~0#1 % 4294967296 % 256 - 256), balance_control_~ret_pwm_l#1.base, balance_control_~ret_pwm_l#1.offset, 1);balance_control_~tmp_pwm_r_limiter~0#1 := balance_control_~tmp_pwm_r_limiter~0#1 - balance_control_~tmp_pwm_turn~0#1;havoc balance_control_#t~nondet21#1;assume -2147483648 <= balance_control_#t~nondet21#1 && balance_control_#t~nondet21#1 <= 2147483647;balance_control_~tmp___1~0#1 := balance_control_#t~nondet21#1;havoc balance_control_#t~nondet21#1;balance_control_~tmp_pwm_r_limiter~0#1 := balance_control_~tmp___1~0#1;call write~int#8((if balance_control_~tmp_pwm_r_limiter~0#1 % 4294967296 % 256 <= 127 then balance_control_~tmp_pwm_r_limiter~0#1 % 4294967296 % 256 else balance_control_~tmp_pwm_r_limiter~0#1 % 4294967296 % 256 - 256), balance_control_~ret_pwm_r#1.base, balance_control_~ret_pwm_r#1.offset, 1);balance_control_~tmp_pwm_l_limiter~0#1 := ~convertFLOATToUINT(~someBinaryArithmeticFLOAToperation(~someBinaryArithmeticFLOAToperation(0.00400000019, ~convertUINTToFLOAT(balance_control_~tmp_thetadot_cmd_lpf~0#1)), ~convertUINTToFLOAT(~ud_theta_ref~0)));balance_control_~tmp_pwm_turn~0#1 := ~convertFLOATToUINT(~someBinaryArithmeticFLOAToperation(~someBinaryArithmeticFLOAToperation(0.00400000019, ~convertUINTToFLOAT(balance_control_~tmp_psidot~0#1)), ~convertUINTToFLOAT(~ud_psi~0)));balance_control_~tmp_pwm_r_limiter~0#1 := ~convertFLOATToUINT(~someBinaryArithmeticFLOAToperation(~someBinaryArithmeticFLOAToperation(~convertUINTToFLOAT(~ud_theta_ref~0 - balance_control_~tmp_theta~0#1), 0.00400000019), ~convertUINTToFLOAT(~ud_err_theta~0)));~ud_err_theta~0 := balance_control_~tmp_pwm_r_limiter~0#1;~ud_theta_ref~0 := balance_control_~tmp_pwm_l_limiter~0#1;~ud_thetadot_cmd_lpf~0 := balance_control_~tmp_thetadot_cmd_lpf~0#1;~ud_psi~0 := balance_control_~tmp_pwm_turn~0#1;~ud_theta_lpf~0 := balance_control_~tmp_theta_lpf~0#1;call ULTIMATE.dealloc(balance_control_~#tmp~0#1.base, balance_control_~#tmp~0#1.offset);havoc balance_control_~#tmp~0#1.base, balance_control_~#tmp~0#1.offset;call ULTIMATE.dealloc(balance_control_~#tmp_theta_0~0#1.base, balance_control_~#tmp_theta_0~0#1.offset);havoc balance_control_~#tmp_theta_0~0#1.base, balance_control_~#tmp_theta_0~0#1.offset; [2025-02-07 21:17:04,532 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L111-1: SUMMARY for call assume_abort_if_not((if 0 != (~BATTERY_GAIN~0 * balance_control_~args_battery#1 - ~BATTERY_OFFSET~0) % 4294967296 then 1 else 0)); srcloc: null [2025-02-07 21:17:04,533 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L235: SUMMARY for call __startrek_write_nxtway_gs_mode(1); srcloc: null [2025-02-07 21:17:04,533 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1800: __startrek_read_obstacle_flag_~c2~1#1 := (if 0 == __startrek_read_obstacle_flag_#t~ret1198#1 % 256 then 0 else 1);havoc __startrek_read_obstacle_flag_#t~ret1198#1; [2025-02-07 21:17:04,533 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1800-1: SUMMARY for call __startrek_read_obstacle_flag_#t~ret1198#1 := __startrek_cs_t0(); srcloc: null [2025-02-07 21:17:04,533 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L231: assume { :end_inline_balance_init } true; [2025-02-07 21:17:04,533 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L260: assume -128 <= OSEK_Task_ts1_#t~ret45#1 && OSEK_Task_ts1_#t~ret45#1 <= 127;OSEK_Task_ts1_~tmp___5~0#1 := OSEK_Task_ts1_#t~ret45#1; [2025-02-07 21:17:04,533 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L260-1: SUMMARY for call OSEK_Task_ts1_#t~ret45#1 := nxt_motor_get_count(0); srcloc: null [2025-02-07 21:17:04,533 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1809: __startrek_read_obstacle_flag_~c2~1#1 := (if 0 == __startrek_read_obstacle_flag_#t~ret1199#1 % 256 then 0 else 1);havoc __startrek_read_obstacle_flag_#t~ret1199#1; [2025-02-07 21:17:04,533 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1809-1: SUMMARY for call __startrek_read_obstacle_flag_#t~ret1199#1 := __startrek_cs_t1(); srcloc: null [2025-02-07 21:17:04,533 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L265: call OSEK_Task_ts1_#t~mem48#1 := read~int#8(OSEK_Task_ts1_~#pwm_r~0#1.base, OSEK_Task_ts1_~#pwm_r~0#1.offset, 1); [2025-02-07 21:17:04,533 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L265-1: SUMMARY for call nxt_motor_set_speed(0, OSEK_Task_ts1_#t~mem47#1, 1); srcloc: null [2025-02-07 21:17:04,533 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L232: SUMMARY for call nxt_motor_set_count(0, 0); srcloc: null [2025-02-07 21:17:04,534 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L261: OSEK_Task_ts1_~tmp___6~0#1 := OSEK_Task_ts1_#t~ret46#1;assume { :begin_inline_balance_control } true;balance_control_#in~args_cmd_forward#1, balance_control_#in~args_cmd_turn#1, balance_control_#in~args_gyro#1, balance_control_#in~args_gyro_offset#1, balance_control_#in~args_theta_m_l#1, balance_control_#in~args_theta_m_r#1, balance_control_#in~args_battery#1, balance_control_#in~ret_pwm_l#1.base, balance_control_#in~ret_pwm_l#1.offset, balance_control_#in~ret_pwm_r#1.base, balance_control_#in~ret_pwm_r#1.offset := OSEK_Task_ts1_~cmd_forward~0#1, OSEK_Task_ts1_~cmd_turn~0#1, OSEK_Task_ts1_~tmp___6~0#1, ~gyro_offset~0, OSEK_Task_ts1_~tmp___5~0#1, OSEK_Task_ts1_~tmp___4~0#1, OSEK_Task_ts1_~tmp___3~0#1, OSEK_Task_ts1_~#pwm_l~0#1.base, OSEK_Task_ts1_~#pwm_l~0#1.offset, OSEK_Task_ts1_~#pwm_r~0#1.base, OSEK_Task_ts1_~#pwm_r~0#1.offset;havoc balance_control_#t~mem4#1, balance_control_#t~mem5#1, balance_control_#t~mem6#1, balance_control_#t~post7#1, balance_control_#t~mem8#1, balance_control_#t~mem9#1, balance_control_#t~mem10#1, balance_control_#t~post11#1, balance_control_#t~mem12#1, balance_control_#t~mem13#1, balance_control_#t~mem14#1, balance_control_#t~post15#1, balance_control_#t~mem16#1, balance_control_#t~mem17#1, balance_control_#t~mem18#1, balance_control_#t~post19#1, balance_control_#t~nondet20#1, balance_control_#t~nondet21#1, balance_control_~args_cmd_forward#1, balance_control_~args_cmd_turn#1, balance_control_~args_gyro#1, balance_control_~args_gyro_offset#1, balance_control_~args_theta_m_l#1, balance_control_~args_theta_m_r#1, balance_control_~args_battery#1, balance_control_~ret_pwm_l#1.base, balance_control_~ret_pwm_l#1.offset, balance_control_~ret_pwm_r#1.base, balance_control_~ret_pwm_r#1.offset, balance_control_~tmp_theta~0#1, balance_control_~tmp_theta_lpf~0#1, balance_control_~tmp_pwm_r_limiter~0#1, balance_control_~tmp_psidot~0#1, balance_control_~tmp_pwm_turn~0#1, balance_control_~tmp_pwm_l_limiter~0#1, balance_control_~tmp_thetadot_cmd_lpf~0#1, balance_control_~#tmp~0#1.base, balance_control_~#tmp~0#1.offset, balance_control_~#tmp_theta_0~0#1.base, balance_control_~#tmp_theta_0~0#1.offset, balance_control_~tmp_0~0#1, balance_control_~tmp___0~0#1, balance_control_~tmp___1~0#1;balance_control_~args_cmd_forward#1 := balance_control_#in~args_cmd_forward#1;balance_control_~args_cmd_turn#1 := balance_control_#in~args_cmd_turn#1;balance_control_~args_gyro#1 := balance_control_#in~args_gyro#1;balance_control_~args_gyro_offset#1 := balance_control_#in~args_gyro_offset#1;balance_control_~args_theta_m_l#1 := balance_control_#in~args_theta_m_l#1;balance_control_~args_theta_m_r#1 := balance_control_#in~args_theta_m_r#1;balance_control_~args_battery#1 := balance_control_#in~args_battery#1;balance_control_~ret_pwm_l#1.base, balance_control_~ret_pwm_l#1.offset := balance_control_#in~ret_pwm_l#1.base, balance_control_#in~ret_pwm_l#1.offset;balance_control_~ret_pwm_r#1.base, balance_control_~ret_pwm_r#1.offset := balance_control_#in~ret_pwm_r#1.base, balance_control_#in~ret_pwm_r#1.offset;havoc balance_control_~tmp_theta~0#1;havoc balance_control_~tmp_theta_lpf~0#1;havoc balance_control_~tmp_pwm_r_limiter~0#1;havoc balance_control_~tmp_psidot~0#1;havoc balance_control_~tmp_pwm_turn~0#1;havoc balance_control_~tmp_pwm_l_limiter~0#1;havoc balance_control_~tmp_thetadot_cmd_lpf~0#1;call balance_control_~#tmp~0#1.base, balance_control_~#tmp~0#1.offset := #Ultimate.allocOnStack(16);call balance_control_~#tmp_theta_0~0#1.base, balance_control_~#tmp_theta_0~0#1.offset := #Ultimate.allocOnStack(16);havoc balance_control_~tmp_0~0#1;havoc balance_control_~tmp___0~0#1;havoc balance_control_~tmp___1~0#1;balance_control_~tmp_thetadot_cmd_lpf~0#1 := ~convertFLOATToUINT(~someBinaryArithmeticFLOAToperation(~someBinaryArithmeticFLOAToperation(~someBinaryArithmeticFLOAToperation(~someBinaryArithmeticFLOAToperation(~convertUINTToFLOAT(balance_control_~args_cmd_forward#1), 100.0), ~convertUINTToFLOAT(~K_THETADOT~0)), ~someBinaryArithmeticFLOAToperation(1.0, ~convertUINTToFLOAT(~A_R~0))), ~convertUINTToFLOAT(~A_R~0 * ~ud_thetadot_cmd_lpf~0)));balance_control_~tmp_theta~0#1 := ~convertFLOATToUINT(~someBinaryArithmeticFLOAToperation(~someBinaryArithmeticFLOAToperation(~someBinaryArithmeticFLOAToperation(~someBinaryArithmeticFLOAToperation(0.01745329238, ~convertUINTToFLOAT(balance_control_~args_theta_m_l#1)), ~convertUINTToFLOAT(~ud_psi~0)), ~someBinaryArithmeticFLOAToperation(~someBinaryArithmeticFLOAToperation(0.01745329238, ~convertUINTToFLOAT(balance_control_~args_theta_m_r#1)), ~convertUINTToFLOAT(~ud_psi~0))), 0.5));balance_control_~tmp_theta_lpf~0#1 := ~convertFLOATToUINT(~someBinaryArithmeticFLOAToperation(~someBinaryArithmeticFLOAToperation(~someBinaryArithmeticFLOAToperation(1.0, ~convertUINTToFLOAT(~A_D~0)), ~convertUINTToFLOAT(balance_control_~tmp_theta~0#1)), ~convertUINTToFLOAT(~A_D~0 * ~ud_theta_lpf~0)));balance_control_~tmp_psidot~0#1 := ~convertFLOATToUINT(~someBinaryArithmeticFLOAToperation(~convertUINTToFLOAT(balance_control_~args_gyro#1 - balance_control_~args_gyro_offset#1), 0.01745329238));call write~int#14(~ud_theta_ref~0, balance_control_~#tmp~0#1.base, balance_control_~#tmp~0#1.offset, 4);call write~int#14(~convertFLOATToUINT(0.0), balance_control_~#tmp~0#1.base, 4 + balance_control_~#tmp~0#1.offset, 4);call write~int#14(balance_control_~tmp_thetadot_cmd_lpf~0#1, balance_control_~#tmp~0#1.base, 8 + balance_control_~#tmp~0#1.offset, 4);call write~int#14(~convertFLOATToUINT(0.0), balance_control_~#tmp~0#1.base, 12 + balance_control_~#tmp~0#1.offset, 4);call write~int#1(balance_control_~tmp_theta~0#1, balance_control_~#tmp_theta_0~0#1.base, balance_control_~#tmp_theta_0~0#1.offset, 4);call write~int#1(~ud_psi~0, balance_control_~#tmp_theta_0~0#1.base, 4 + balance_control_~#tmp_theta_0~0#1.offset, 4);call write~int#1(~convertFLOATToUINT(~someBinaryArithmeticFLOAToperation(~convertUINTToFLOAT(balance_control_~tmp_theta_lpf~0#1 - ~ud_theta_lpf~0), 0.00400000019)), balance_control_~#tmp_theta_0~0#1.base, 8 + balance_control_~#tmp_theta_0~0#1.offset, 4);call write~int#1(balance_control_~tmp_psidot~0#1, balance_control_~#tmp_theta_0~0#1.base, 12 + balance_control_~#tmp_theta_0~0#1.offset, 4);balance_control_~tmp_pwm_r_limiter~0#1 := ~convertFLOATToUINT(0.0);balance_control_~tmp_0~0#1 := 0;call balance_control_#t~mem4#1 := read~int#14(balance_control_~#tmp~0#1.base, balance_control_~#tmp~0#1.offset + 4 * balance_control_~tmp_0~0#1, 4);call balance_control_#t~mem5#1 := read~int#1(balance_control_~#tmp_theta_0~0#1.base, balance_control_~#tmp_theta_0~0#1.offset + 4 * balance_control_~tmp_0~0#1, 4);call balance_control_#t~mem6#1 := read~int#11(~#K_F~0.base, ~#K_F~0.offset + 4 * balance_control_~tmp_0~0#1, 4);balance_control_~tmp_pwm_r_limiter~0#1 := balance_control_~tmp_pwm_r_limiter~0#1 + (balance_control_#t~mem4#1 - balance_control_#t~mem5#1) * balance_control_#t~mem6#1;havoc balance_control_#t~mem4#1;havoc balance_control_#t~mem5#1;havoc balance_control_#t~mem6#1;balance_control_#t~post7#1 := balance_control_~tmp_0~0#1;balance_control_~tmp_0~0#1 := 1 + balance_control_#t~post7#1;havoc balance_control_#t~post7#1;call balance_control_#t~mem8#1 := read~int#14(balance_control_~#tmp~0#1.base, balance_control_~#tmp~0#1.offset + 4 * balance_control_~tmp_0~0#1, 4);call balance_control_#t~mem9#1 := read~int#1(balance_control_~#tmp_theta_0~0#1.base, balance_control_~#tmp_theta_0~0#1.offset + 4 * balance_control_~tmp_0~0#1, 4);call balance_control_#t~mem10#1 := read~int#11(~#K_F~0.base, ~#K_F~0.offset + 4 * balance_control_~tmp_0~0#1, 4);balance_control_~tmp_pwm_r_limiter~0#1 := balance_control_~tmp_pwm_r_limiter~0#1 + (balance_control_#t~mem8#1 - balance_control_#t~mem9#1) * balance_control_#t~mem10#1;havoc balance_control_#t~mem8#1;havoc balance_control_#t~mem9#1;havoc balance_control_#t~mem10#1;balance_control_#t~post11#1 := balance_control_~tmp_0~0#1;balance_control_~tmp_0~0#1 := 1 + balance_control_#t~post11#1;havoc balance_control_#t~post11#1;call balance_control_#t~mem12#1 := read~int#14(balance_control_~#tmp~0#1.base, balance_control_~#tmp~0#1.offset + 4 * balance_control_~tmp_0~0#1, 4);call balance_control_#t~mem13#1 := read~int#1(balance_control_~#tmp_theta_0~0#1.base, balance_control_~#tmp_theta_0~0#1.offset + 4 * balance_control_~tmp_0~0#1, 4);call balance_control_#t~mem14#1 := read~int#11(~#K_F~0.base, ~#K_F~0.offset + 4 * balance_control_~tmp_0~0#1, 4);balance_control_~tmp_pwm_r_limiter~0#1 := balance_control_~tmp_pwm_r_limiter~0#1 + (balance_control_#t~mem12#1 - balance_control_#t~mem13#1) * balance_control_#t~mem14#1;havoc balance_control_#t~mem12#1;havoc balance_control_#t~mem13#1;havoc balance_control_#t~mem14#1;balance_control_#t~post15#1 := balance_control_~tmp_0~0#1;balance_control_~tmp_0~0#1 := 1 + balance_control_#t~post15#1;havoc balance_control_#t~post15#1;call balance_control_#t~mem16#1 := read~int#14(balance_control_~#tmp~0#1.base, balance_control_~#tmp~0#1.offset + 4 * balance_control_~tmp_0~0#1, 4);call balance_control_#t~mem17#1 := read~int#1(balance_control_~#tmp_theta_0~0#1.base, balance_control_~#tmp_theta_0~0#1.offset + 4 * balance_control_~tmp_0~0#1, 4);call balance_control_#t~mem18#1 := read~int#11(~#K_F~0.base, ~#K_F~0.offset + 4 * balance_control_~tmp_0~0#1, 4);balance_control_~tmp_pwm_r_limiter~0#1 := balance_control_~tmp_pwm_r_limiter~0#1 + (balance_control_#t~mem16#1 - balance_control_#t~mem17#1) * balance_control_#t~mem18#1;havoc balance_control_#t~mem16#1;havoc balance_control_#t~mem17#1;havoc balance_control_#t~mem18#1;balance_control_#t~post19#1 := balance_control_~tmp_0~0#1;balance_control_~tmp_0~0#1 := 1 + balance_control_#t~post19#1;havoc balance_control_#t~post19#1; [2025-02-07 21:17:04,534 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L261-1: SUMMARY for call OSEK_Task_ts1_#t~ret46#1 := ecrobot_get_gyro_sensor(3); srcloc: null [2025-02-07 21:17:04,534 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1797-1: assume __startrek_read_obstacle_flag_#t~switch1197#1;__startrek_read_obstacle_flag_~or3~1#1 := ~__startrek_round~0; [2025-02-07 21:17:04,534 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1797-1: assume !__startrek_read_obstacle_flag_#t~switch1197#1;__startrek_read_obstacle_flag_#t~switch1197#1 := __startrek_read_obstacle_flag_#t~switch1197#1 || 1 == (if ~__startrek_task~0 % 256 % 4294967296 <= 2147483647 then ~__startrek_task~0 % 256 % 4294967296 else ~__startrek_task~0 % 256 % 4294967296 - 4294967296); [2025-02-07 21:17:04,535 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L253: OSEK_Task_ts1_#t~ret42#1 := __startrek_read_obstacle_flag_#res#1;havoc __startrek_read_obstacle_flag_#t~switch1197#1, __startrek_read_obstacle_flag_#t~ret1198#1, __startrek_read_obstacle_flag_#t~ret1199#1, __startrek_read_obstacle_flag_#t~ret1200#1, __startrek_read_obstacle_flag_#t~mem1201#1, __startrek_read_obstacle_flag_~r1~1#1, __startrek_read_obstacle_flag_~c2~1#1, __startrek_read_obstacle_flag_~or3~1#1;assume { :end_inline___startrek_read_obstacle_flag } true;OSEK_Task_ts1_~tmp___2~0#1 := (if 0 == OSEK_Task_ts1_#t~ret42#1 % 256 then 0 else 1); [2025-02-07 21:17:04,535 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1818: __startrek_read_obstacle_flag_~c2~1#1 := (if 0 == __startrek_read_obstacle_flag_#t~ret1200#1 % 256 then 0 else 1);havoc __startrek_read_obstacle_flag_#t~ret1200#1; [2025-02-07 21:17:04,535 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1818-1: SUMMARY for call __startrek_read_obstacle_flag_#t~ret1200#1 := __startrek_cs_t2(); srcloc: null [2025-02-07 21:17:04,535 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L249-1: assume 0 != OSEK_Task_ts1_~tmp___2~0#1 % 256;OSEK_Task_ts1_~cmd_forward~0#1 := -100;OSEK_Task_ts1_~cmd_turn~0#1 := 0; [2025-02-07 21:17:04,535 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L249-1: assume !(0 != OSEK_Task_ts1_~tmp___2~0#1 % 256); [2025-02-07 21:17:04,535 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L245: havoc ecrobot_sound_tone_~arg0#1, ecrobot_sound_tone_~arg1#1, ecrobot_sound_tone_~arg2#1;havoc ecrobot_sound_tone_#in~arg0#1, ecrobot_sound_tone_#in~arg1#1, ecrobot_sound_tone_#in~arg2#1;assume { :end_inline_ecrobot_sound_tone } true; [2025-02-07 21:17:04,535 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1806-1: assume __startrek_read_obstacle_flag_#t~switch1197#1;__startrek_read_obstacle_flag_~or3~1#1 := ~__startrek_round~0; [2025-02-07 21:17:04,535 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1806-1: assume !__startrek_read_obstacle_flag_#t~switch1197#1;__startrek_read_obstacle_flag_#t~switch1197#1 := __startrek_read_obstacle_flag_#t~switch1197#1 || 2 == (if ~__startrek_task~0 % 256 % 4294967296 <= 2147483647 then ~__startrek_task~0 % 256 % 4294967296 else ~__startrek_task~0 % 256 % 4294967296 - 4294967296); [2025-02-07 21:17:04,535 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L266: assume { :begin_inline_ecrobot_bt_data_logger } true;ecrobot_bt_data_logger_#in~arg0#1, ecrobot_bt_data_logger_#in~arg1#1 := OSEK_Task_ts1_~cmd_forward~0#1, OSEK_Task_ts1_~cmd_turn~0#1;havoc ecrobot_bt_data_logger_~arg0#1, ecrobot_bt_data_logger_~arg1#1;ecrobot_bt_data_logger_~arg0#1 := ecrobot_bt_data_logger_#in~arg0#1;ecrobot_bt_data_logger_~arg1#1 := ecrobot_bt_data_logger_#in~arg1#1; [2025-02-07 21:17:04,535 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L266-1: SUMMARY for call nxt_motor_set_speed(1, OSEK_Task_ts1_#t~mem48#1, 1); srcloc: null [2025-02-07 21:17:04,535 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L233: SUMMARY for call nxt_motor_set_count(1, 0); srcloc: null [2025-02-07 21:17:04,535 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L258: OSEK_Task_ts1_#t~ret43#1 := ecrobot_get_battery_voltage_#res#1;havoc ecrobot_get_battery_voltage_#t~nondet30#1, ecrobot_get_battery_voltage_~tmp~3#1;assume { :end_inline_ecrobot_get_battery_voltage } true;OSEK_Task_ts1_~tmp___3~0#1 := OSEK_Task_ts1_#t~ret43#1; [2025-02-07 21:17:04,547 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L297: SUMMARY for call __startrek_write_obstacle_flag(1); srcloc: null [2025-02-07 21:17:04,548 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L296: assume (if OSEK_Task_ts2_~tmp___0~2#1 % 256 % 4294967296 <= 2147483647 then OSEK_Task_ts2_~tmp___0~2#1 % 256 % 4294967296 else OSEK_Task_ts2_~tmp___0~2#1 % 256 % 4294967296 - 4294967296) <= 25; [2025-02-07 21:17:04,548 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L296: assume !((if OSEK_Task_ts2_~tmp___0~2#1 % 256 % 4294967296 <= 2147483647 then OSEK_Task_ts2_~tmp___0~2#1 % 256 % 4294967296 else OSEK_Task_ts2_~tmp___0~2#1 % 256 % 4294967296 - 4294967296) <= 25); [2025-02-07 21:17:04,548 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L295: OSEK_Task_ts2_#t~ret51#1 := ecrobot_get_sonar_sensor_#res#1;havoc ecrobot_get_sonar_sensor_#t~nondet49#1, ecrobot_get_sonar_sensor_~port#1, ecrobot_get_sonar_sensor_~tmp~5#1;havoc ecrobot_get_sonar_sensor_#in~port#1;assume { :end_inline_ecrobot_get_sonar_sensor } true;OSEK_Task_ts2_~tmp___0~2#1 := OSEK_Task_ts2_#t~ret51#1;havoc OSEK_Task_ts2_#t~ret51#1; [2025-02-07 21:17:08,081 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1732: havoc __startrek_user_final_#t~mem52#1, __startrek_user_final_~tmp~7#1;assume { :end_inline___startrek_user_final } true; [2025-02-07 21:17:08,284 INFO L? ?]: Removed 112 outVars from TransFormulas that were not future-live. [2025-02-07 21:17:08,285 INFO L308 CfgBuilder]: Performing block encoding [2025-02-07 21:17:08,308 INFO L332 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-02-07 21:17:08,309 INFO L337 CfgBuilder]: Removed 0 assume(true) statements. [2025-02-07 21:17:08,309 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 07.02 09:17:08 BoogieIcfgContainer [2025-02-07 21:17:08,309 INFO L131 PluginConnector]: ------------------------ END IcfgBuilder---------------------------- [2025-02-07 21:17:08,311 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2025-02-07 21:17:08,311 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2025-02-07 21:17:08,315 INFO L274 PluginConnector]: TraceAbstraction initialized [2025-02-07 21:17:08,316 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 07.02 09:17:02" (1/3) ... [2025-02-07 21:17:08,316 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2c265f73 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 07.02 09:17:08, skipping insertion in model container [2025-02-07 21:17:08,316 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 09:17:03" (2/3) ... [2025-02-07 21:17:08,316 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2c265f73 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 07.02 09:17:08, skipping insertion in model container [2025-02-07 21:17:08,316 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 07.02 09:17:08" (3/3) ... [2025-02-07 21:17:08,317 INFO L128 eAbstractionObserver]: Analyzing ICFG rekcba_nxt.1.M1-1.c [2025-02-07 21:17:08,328 INFO L216 ceAbstractionStarter]: Automizer settings: Hoare:LoopHeads NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2025-02-07 21:17:08,331 INFO L151 ceAbstractionStarter]: Applying trace abstraction to ICFG rekcba_nxt.1.M1-1.c that has 16 procedures, 1091 locations, 1 initial locations, 1 loop locations, and 1 error locations. [2025-02-07 21:17:08,393 INFO L332 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2025-02-07 21:17:08,401 INFO L333 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mAutomataTypeConcurrency=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopHeads, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=[Lde.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings;@76825e3a, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2025-02-07 21:17:08,401 INFO L334 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2025-02-07 21:17:08,407 INFO L276 IsEmpty]: Start isEmpty. Operand has 1076 states, 679 states have (on average 1.2974963181148749) internal successors, (881), 714 states have internal predecessors, (881), 374 states have call successors, (374), 12 states have call predecessors, (374), 12 states have return successors, (374), 374 states have call predecessors, (374), 374 states have call successors, (374) [2025-02-07 21:17:08,484 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 717 [2025-02-07 21:17:08,485 INFO L210 NwaCegarLoop]: Found error trace [2025-02-07 21:17:08,486 INFO L218 NwaCegarLoop]: trace histogram [85, 85, 85, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-02-07 21:17:08,486 INFO L396 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-02-07 21:17:08,490 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-07 21:17:08,491 INFO L85 PathProgramCache]: Analyzing trace with hash -1872433121, now seen corresponding path program 1 times [2025-02-07 21:17:08,496 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-07 21:17:08,496 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [671206887] [2025-02-07 21:17:08,496 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-07 21:17:08,497 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-07 21:17:08,725 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 716 statements into 1 equivalence classes. [2025-02-07 21:17:08,813 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 716 of 716 statements. [2025-02-07 21:17:08,817 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-07 21:17:08,817 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-07 21:17:09,283 INFO L134 CoverageAnalysis]: Checked inductivity of 14280 backedges. 0 proven. 168 refuted. 0 times theorem prover too weak. 14112 trivial. 0 not checked. [2025-02-07 21:17:09,284 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-02-07 21:17:09,284 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [671206887] [2025-02-07 21:17:09,284 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [671206887] provided 0 perfect and 1 imperfect interpolant sequences [2025-02-07 21:17:09,284 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1589439441] [2025-02-07 21:17:09,285 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-07 21:17:09,285 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-02-07 21:17:09,285 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-07 21:17:09,287 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-02-07 21:17:09,288 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2025-02-07 21:17:09,799 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 716 statements into 1 equivalence classes. [2025-02-07 21:17:10,052 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 716 of 716 statements. [2025-02-07 21:17:10,052 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-07 21:17:10,052 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-07 21:17:10,064 INFO L256 TraceCheckSpWp]: Trace formula consists of 2553 conjuncts, 1 conjuncts are in the unsatisfiable core [2025-02-07 21:17:10,080 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-02-07 21:17:10,119 INFO L134 CoverageAnalysis]: Checked inductivity of 14280 backedges. 168 proven. 0 refuted. 0 times theorem prover too weak. 14112 trivial. 0 not checked. [2025-02-07 21:17:10,119 INFO L308 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2025-02-07 21:17:10,119 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1589439441] provided 1 perfect and 0 imperfect interpolant sequences [2025-02-07 21:17:10,119 INFO L185 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2025-02-07 21:17:10,120 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [2] total 2 [2025-02-07 21:17:10,121 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1200339634] [2025-02-07 21:17:10,122 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-02-07 21:17:10,125 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2025-02-07 21:17:10,125 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-02-07 21:17:10,138 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2025-02-07 21:17:10,139 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2025-02-07 21:17:10,142 INFO L87 Difference]: Start difference. First operand has 1076 states, 679 states have (on average 1.2974963181148749) internal successors, (881), 714 states have internal predecessors, (881), 374 states have call successors, (374), 12 states have call predecessors, (374), 12 states have return successors, (374), 374 states have call predecessors, (374), 374 states have call successors, (374) Second operand has 2 states, 2 states have (on average 148.0) internal successors, (296), 2 states have internal predecessors, (296), 2 states have call successors, (85), 2 states have call predecessors, (85), 1 states have return successors, (85), 1 states have call predecessors, (85), 2 states have call successors, (85) [2025-02-07 21:17:10,216 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-02-07 21:17:10,216 INFO L93 Difference]: Finished difference Result 2142 states and 3586 transitions. [2025-02-07 21:17:10,217 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2025-02-07 21:17:10,218 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 148.0) internal successors, (296), 2 states have internal predecessors, (296), 2 states have call successors, (85), 2 states have call predecessors, (85), 1 states have return successors, (85), 1 states have call predecessors, (85), 2 states have call successors, (85) Word has length 716 [2025-02-07 21:17:10,218 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2025-02-07 21:17:10,230 INFO L225 Difference]: With dead ends: 2142 [2025-02-07 21:17:10,230 INFO L226 Difference]: Without dead ends: 999 [2025-02-07 21:17:10,238 INFO L434 NwaCegarLoop]: 0 DeclaredPredicates, 717 GetRequests, 717 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2025-02-07 21:17:10,240 INFO L435 NwaCegarLoop]: 1624 mSDtfsCounter, 0 mSDsluCounter, 0 mSDsCounter, 0 mSdLazyCounter, 0 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 1624 SdHoareTripleChecker+Invalid, 0 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 0 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2025-02-07 21:17:10,241 INFO L436 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 1624 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2025-02-07 21:17:10,252 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 999 states. [2025-02-07 21:17:10,393 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 999 to 999. [2025-02-07 21:17:10,396 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 999 states, 635 states have (on average 1.2755905511811023) internal successors, (810), 662 states have internal predecessors, (810), 357 states have call successors, (357), 6 states have call predecessors, (357), 6 states have return successors, (357), 357 states have call predecessors, (357), 357 states have call successors, (357) [2025-02-07 21:17:10,401 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 999 states to 999 states and 1524 transitions. [2025-02-07 21:17:10,405 INFO L78 Accepts]: Start accepts. Automaton has 999 states and 1524 transitions. Word has length 716 [2025-02-07 21:17:10,405 INFO L84 Accepts]: Finished accepts. word is rejected. [2025-02-07 21:17:10,405 INFO L471 AbstractCegarLoop]: Abstraction has 999 states and 1524 transitions. [2025-02-07 21:17:10,405 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 148.0) internal successors, (296), 2 states have internal predecessors, (296), 2 states have call successors, (85), 2 states have call predecessors, (85), 1 states have return successors, (85), 1 states have call predecessors, (85), 2 states have call successors, (85) [2025-02-07 21:17:10,406 INFO L276 IsEmpty]: Start isEmpty. Operand 999 states and 1524 transitions. [2025-02-07 21:17:10,419 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 717 [2025-02-07 21:17:10,419 INFO L210 NwaCegarLoop]: Found error trace [2025-02-07 21:17:10,419 INFO L218 NwaCegarLoop]: trace histogram [85, 85, 85, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-02-07 21:17:10,432 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2025-02-07 21:17:10,620 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable0 [2025-02-07 21:17:10,620 INFO L396 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-02-07 21:17:10,621 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-07 21:17:10,621 INFO L85 PathProgramCache]: Analyzing trace with hash 569587316, now seen corresponding path program 1 times [2025-02-07 21:17:10,621 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-07 21:17:10,622 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1520848862] [2025-02-07 21:17:10,622 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-07 21:17:10,622 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-07 21:17:10,849 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 716 statements into 1 equivalence classes. [2025-02-07 21:17:18,077 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 716 of 716 statements. [2025-02-07 21:17:18,077 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-07 21:17:18,077 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-07 21:17:20,995 INFO L134 CoverageAnalysis]: Checked inductivity of 14280 backedges. 27 proven. 225 refuted. 0 times theorem prover too weak. 14028 trivial. 0 not checked. [2025-02-07 21:17:20,996 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-02-07 21:17:20,996 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1520848862] [2025-02-07 21:17:20,996 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1520848862] provided 0 perfect and 1 imperfect interpolant sequences [2025-02-07 21:17:20,996 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [450764234] [2025-02-07 21:17:20,996 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-07 21:17:20,997 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-02-07 21:17:20,997 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-07 21:17:20,998 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-02-07 21:17:21,002 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2025-02-07 21:17:21,466 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 716 statements into 1 equivalence classes. [2025-02-07 21:17:23,901 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 716 of 716 statements. [2025-02-07 21:17:23,901 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-07 21:17:23,901 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-07 21:17:23,925 INFO L256 TraceCheckSpWp]: Trace formula consists of 2553 conjuncts, 31 conjuncts are in the unsatisfiable core [2025-02-07 21:17:23,940 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-02-07 21:17:24,058 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 36 treesize of output 3 [2025-02-07 21:17:24,065 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 1 [2025-02-07 21:17:24,423 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 19 [2025-02-07 21:17:25,579 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 9 [2025-02-07 21:17:25,595 INFO L134 CoverageAnalysis]: Checked inductivity of 14280 backedges. 7018 proven. 744 refuted. 0 times theorem prover too weak. 6518 trivial. 0 not checked. [2025-02-07 21:17:25,595 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-02-07 21:17:26,691 INFO L134 CoverageAnalysis]: Checked inductivity of 14280 backedges. 30 proven. 471 refuted. 0 times theorem prover too weak. 13779 trivial. 0 not checked. [2025-02-07 21:17:26,691 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [450764234] provided 0 perfect and 2 imperfect interpolant sequences [2025-02-07 21:17:26,691 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-02-07 21:17:26,691 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 13, 13] total 30 [2025-02-07 21:17:26,692 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [8972461] [2025-02-07 21:17:26,692 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-02-07 21:17:26,694 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 30 states [2025-02-07 21:17:26,694 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-02-07 21:17:26,695 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 30 interpolants. [2025-02-07 21:17:26,696 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=189, Invalid=681, Unknown=0, NotChecked=0, Total=870 [2025-02-07 21:17:26,696 INFO L87 Difference]: Start difference. First operand 999 states and 1524 transitions. Second operand has 30 states, 25 states have (on average 29.96) internal successors, (749), 30 states have internal predecessors, (749), 17 states have call successors, (203), 7 states have call predecessors, (203), 12 states have return successors, (203), 12 states have call predecessors, (203), 17 states have call successors, (203) [2025-02-07 21:17:37,533 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.47s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2025-02-07 21:17:39,475 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.94s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2025-02-07 21:17:42,173 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.70s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2025-02-07 21:17:44,394 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.22s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2025-02-07 21:17:46,784 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.39s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2025-02-07 21:17:55,167 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-02-07 21:17:55,167 INFO L93 Difference]: Finished difference Result 1299 states and 1940 transitions. [2025-02-07 21:17:55,168 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2025-02-07 21:17:55,170 INFO L78 Accepts]: Start accepts. Automaton has has 30 states, 25 states have (on average 29.96) internal successors, (749), 30 states have internal predecessors, (749), 17 states have call successors, (203), 7 states have call predecessors, (203), 12 states have return successors, (203), 12 states have call predecessors, (203), 17 states have call successors, (203) Word has length 716 [2025-02-07 21:17:55,171 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2025-02-07 21:17:55,185 INFO L225 Difference]: With dead ends: 1299 [2025-02-07 21:17:55,185 INFO L226 Difference]: Without dead ends: 1050 [2025-02-07 21:17:55,187 INFO L434 NwaCegarLoop]: 0 DeclaredPredicates, 1472 GetRequests, 1417 SyntacticMatches, 0 SemanticMatches, 55 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 675 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=815, Invalid=2377, Unknown=0, NotChecked=0, Total=3192 [2025-02-07 21:17:55,188 INFO L435 NwaCegarLoop]: 723 mSDtfsCounter, 6803 mSDsluCounter, 3240 mSDsCounter, 0 mSdLazyCounter, 11939 mSolverCounterSat, 6697 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 25.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 6803 SdHoareTripleChecker+Valid, 3963 SdHoareTripleChecker+Invalid, 18636 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.1s SdHoareTripleChecker+Time, 6697 IncrementalHoareTripleChecker+Valid, 11939 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 27.2s IncrementalHoareTripleChecker+Time [2025-02-07 21:17:55,188 INFO L436 NwaCegarLoop]: SdHoareTripleChecker [6803 Valid, 3963 Invalid, 18636 Unknown, 0 Unchecked, 0.1s Time], IncrementalHoareTripleChecker [6697 Valid, 11939 Invalid, 0 Unknown, 0 Unchecked, 27.2s Time] [2025-02-07 21:17:55,193 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1050 states. [2025-02-07 21:17:55,358 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1050 to 1019. [2025-02-07 21:17:55,361 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1019 states, 650 states have (on average 1.2661538461538462) internal successors, (823), 675 states have internal predecessors, (823), 357 states have call successors, (357), 11 states have call predecessors, (357), 11 states have return successors, (357), 357 states have call predecessors, (357), 357 states have call successors, (357) [2025-02-07 21:17:55,364 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1019 states to 1019 states and 1537 transitions. [2025-02-07 21:17:55,366 INFO L78 Accepts]: Start accepts. Automaton has 1019 states and 1537 transitions. Word has length 716 [2025-02-07 21:17:55,367 INFO L84 Accepts]: Finished accepts. word is rejected. [2025-02-07 21:17:55,367 INFO L471 AbstractCegarLoop]: Abstraction has 1019 states and 1537 transitions. [2025-02-07 21:17:55,367 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 30 states, 25 states have (on average 29.96) internal successors, (749), 30 states have internal predecessors, (749), 17 states have call successors, (203), 7 states have call predecessors, (203), 12 states have return successors, (203), 12 states have call predecessors, (203), 17 states have call successors, (203) [2025-02-07 21:17:55,368 INFO L276 IsEmpty]: Start isEmpty. Operand 1019 states and 1537 transitions. [2025-02-07 21:17:55,380 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 767 [2025-02-07 21:17:55,380 INFO L210 NwaCegarLoop]: Found error trace [2025-02-07 21:17:55,380 INFO L218 NwaCegarLoop]: trace histogram [87, 87, 87, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-02-07 21:17:55,401 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2025-02-07 21:17:55,581 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,3 /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-02-07 21:17:55,581 INFO L396 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-02-07 21:17:55,582 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-07 21:17:55,582 INFO L85 PathProgramCache]: Analyzing trace with hash 1790450954, now seen corresponding path program 1 times [2025-02-07 21:17:55,584 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-07 21:17:55,584 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [474722899] [2025-02-07 21:17:55,584 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-07 21:17:55,584 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-07 21:17:55,757 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 766 statements into 1 equivalence classes. [2025-02-07 21:17:55,866 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 766 of 766 statements. [2025-02-07 21:17:55,866 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-07 21:17:55,867 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-07 21:17:56,182 INFO L134 CoverageAnalysis]: Checked inductivity of 14970 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 14970 trivial. 0 not checked. [2025-02-07 21:17:56,182 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-02-07 21:17:56,183 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [474722899] [2025-02-07 21:17:56,183 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [474722899] provided 1 perfect and 0 imperfect interpolant sequences [2025-02-07 21:17:56,183 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-02-07 21:17:56,183 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2025-02-07 21:17:56,183 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [282234338] [2025-02-07 21:17:56,183 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-02-07 21:17:56,184 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2025-02-07 21:17:56,184 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-02-07 21:17:56,184 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2025-02-07 21:17:56,184 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2025-02-07 21:17:56,185 INFO L87 Difference]: Start difference. First operand 1019 states and 1537 transitions. Second operand has 3 states, 3 states have (on average 106.33333333333333) internal successors, (319), 3 states have internal predecessors, (319), 2 states have call successors, (92), 1 states have call predecessors, (92), 2 states have return successors, (92), 2 states have call predecessors, (92), 2 states have call successors, (92) [2025-02-07 21:17:56,245 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-02-07 21:17:56,245 INFO L93 Difference]: Finished difference Result 1105 states and 1667 transitions. [2025-02-07 21:17:56,247 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2025-02-07 21:17:56,247 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 106.33333333333333) internal successors, (319), 3 states have internal predecessors, (319), 2 states have call successors, (92), 1 states have call predecessors, (92), 2 states have return successors, (92), 2 states have call predecessors, (92), 2 states have call successors, (92) Word has length 766 [2025-02-07 21:17:56,248 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2025-02-07 21:17:56,254 INFO L225 Difference]: With dead ends: 1105 [2025-02-07 21:17:56,254 INFO L226 Difference]: Without dead ends: 0 [2025-02-07 21:17:56,260 INFO L434 NwaCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2025-02-07 21:17:56,260 INFO L435 NwaCegarLoop]: 1263 mSDtfsCounter, 0 mSDsluCounter, 1258 mSDsCounter, 0 mSdLazyCounter, 4 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 2521 SdHoareTripleChecker+Invalid, 4 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 4 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2025-02-07 21:17:56,261 INFO L436 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 2521 Invalid, 4 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 4 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2025-02-07 21:17:56,261 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2025-02-07 21:17:56,261 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2025-02-07 21:17:56,261 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-02-07 21:17:56,261 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2025-02-07 21:17:56,262 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 766 [2025-02-07 21:17:56,262 INFO L84 Accepts]: Finished accepts. word is rejected. [2025-02-07 21:17:56,262 INFO L471 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2025-02-07 21:17:56,262 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 106.33333333333333) internal successors, (319), 3 states have internal predecessors, (319), 2 states have call successors, (92), 1 states have call predecessors, (92), 2 states have return successors, (92), 2 states have call predecessors, (92), 2 states have call successors, (92) [2025-02-07 21:17:56,262 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2025-02-07 21:17:56,264 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2025-02-07 21:17:56,267 INFO L782 garLoopResultBuilder]: Registering result SAFE for location ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2025-02-07 21:17:56,291 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2025-02-07 21:17:56,296 INFO L422 BasicCegarLoop]: Path program histogram: [1, 1, 1] [2025-02-07 21:17:56,298 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2025-02-07 21:18:01,426 INFO L170 ceAbstractionStarter]: Computing trace abstraction results [2025-02-07 21:18:01,434 WARN L970 BoogieBacktranslator]: Unfinished Backtranslation: Unknown variable: #memory_int#4 [2025-02-07 21:18:01,434 WARN L970 BoogieBacktranslator]: Unfinished Backtranslation: Cannot backtranslate array access to array IdentifierExpression[#memory_int#4,GLOBAL] [2025-02-07 21:18:01,434 WARN L970 BoogieBacktranslator]: Unfinished Backtranslation: Cannot backtranslate array access to array ArrayAccessExpression[IdentifierExpression[#memory_int#4,GLOBAL],[IdentifierExpression[~#__startrek_start_t1~0!base,GLOBAL]]] [2025-02-07 21:18:01,435 WARN L970 BoogieBacktranslator]: Unfinished Backtranslation: Unknown variable: #memory_int#5 [2025-02-07 21:18:01,435 WARN L970 BoogieBacktranslator]: Unfinished Backtranslation: Cannot backtranslate array access to array IdentifierExpression[#memory_int#5,GLOBAL] [2025-02-07 21:18:01,435 WARN L970 BoogieBacktranslator]: Unfinished Backtranslation: Cannot backtranslate array access to array ArrayAccessExpression[IdentifierExpression[#memory_int#5,GLOBAL],[IdentifierExpression[~#__startrek_end_t1~0!base,GLOBAL]]] [2025-02-07 21:18:01,436 WARN L970 BoogieBacktranslator]: Unfinished Backtranslation: Unknown variable: #memory_int#5 [2025-02-07 21:18:01,436 WARN L970 BoogieBacktranslator]: Unfinished Backtranslation: Cannot backtranslate array access to array IdentifierExpression[#memory_int#5,GLOBAL] [2025-02-07 21:18:01,436 WARN L970 BoogieBacktranslator]: Unfinished Backtranslation: Cannot backtranslate array access to array ArrayAccessExpression[IdentifierExpression[#memory_int#5,GLOBAL],[IdentifierExpression[~#__startrek_end_t1~0!base,GLOBAL]]] [2025-02-07 21:18:01,436 WARN L970 BoogieBacktranslator]: Unfinished Backtranslation: Unknown variable: #memory_int#3 [2025-02-07 21:18:01,436 WARN L970 BoogieBacktranslator]: Unfinished Backtranslation: Cannot backtranslate array access to array IdentifierExpression[#memory_int#3,GLOBAL] [2025-02-07 21:18:01,436 WARN L970 BoogieBacktranslator]: Unfinished Backtranslation: Cannot backtranslate array access to array ArrayAccessExpression[IdentifierExpression[#memory_int#3,GLOBAL],[IdentifierExpression[~#__startrek_end_t2~0!base,GLOBAL]]] [2025-02-07 21:18:01,437 WARN L970 BoogieBacktranslator]: Unfinished Backtranslation: Unknown variable: #memory_int#2 [2025-02-07 21:18:01,437 WARN L970 BoogieBacktranslator]: Unfinished Backtranslation: Cannot backtranslate array access to array IdentifierExpression[#memory_int#2,GLOBAL] [2025-02-07 21:18:01,437 WARN L970 BoogieBacktranslator]: Unfinished Backtranslation: Cannot backtranslate array access to array ArrayAccessExpression[IdentifierExpression[#memory_int#2,GLOBAL],[IdentifierExpression[~#__startrek_start_t2~0!base,GLOBAL]]] [2025-02-07 21:18:01,437 WARN L970 BoogieBacktranslator]: Unfinished Backtranslation: Unknown variable: #memory_int#2 [2025-02-07 21:18:01,437 WARN L970 BoogieBacktranslator]: Unfinished Backtranslation: Cannot backtranslate array access to array IdentifierExpression[#memory_int#2,GLOBAL] [2025-02-07 21:18:01,437 WARN L970 BoogieBacktranslator]: Unfinished Backtranslation: Cannot backtranslate array access to array ArrayAccessExpression[IdentifierExpression[#memory_int#2,GLOBAL],[IdentifierExpression[~#__startrek_start_t2~0!base,GLOBAL]]] [2025-02-07 21:18:01,438 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 07.02 09:18:01 BoogieIcfgContainer [2025-02-07 21:18:01,438 INFO L131 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2025-02-07 21:18:01,439 INFO L112 PluginConnector]: ------------------------Witness Printer---------------------------- [2025-02-07 21:18:01,439 INFO L270 PluginConnector]: Initializing Witness Printer... [2025-02-07 21:18:01,439 INFO L274 PluginConnector]: Witness Printer initialized [2025-02-07 21:18:01,440 INFO L184 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 07.02 09:17:08" (3/4) ... [2025-02-07 21:18:01,442 INFO L146 WitnessPrinter]: Generating witness for correct program [2025-02-07 21:18:01,446 INFO L385 IcfgBacktranslator]: Ignoring RootEdge to procedure nxt_motor_set_count [2025-02-07 21:18:01,446 INFO L385 IcfgBacktranslator]: Ignoring RootEdge to procedure __startrek_entry_pt_OSEK_Task_Background [2025-02-07 21:18:01,446 INFO L385 IcfgBacktranslator]: Ignoring RootEdge to procedure __startrek_cs_t2 [2025-02-07 21:18:01,446 INFO L385 IcfgBacktranslator]: Ignoring RootEdge to procedure __startrek_write_nxtway_gs_mode [2025-02-07 21:18:01,446 INFO L385 IcfgBacktranslator]: Ignoring RootEdge to procedure assume_abort_if_not [2025-02-07 21:18:01,446 INFO L385 IcfgBacktranslator]: Ignoring RootEdge to procedure __startrek_cs_t0 [2025-02-07 21:18:01,447 INFO L385 IcfgBacktranslator]: Ignoring RootEdge to procedure ecrobot_get_gyro_sensor [2025-02-07 21:18:01,447 INFO L385 IcfgBacktranslator]: Ignoring RootEdge to procedure __startrek_cs_t1 [2025-02-07 21:18:01,447 INFO L385 IcfgBacktranslator]: Ignoring RootEdge to procedure __startrek_entry_pt_OSEK_Task_ts1 [2025-02-07 21:18:01,447 INFO L385 IcfgBacktranslator]: Ignoring RootEdge to procedure __startrek_entry_pt_OSEK_Task_ts2 [2025-02-07 21:18:01,447 INFO L385 IcfgBacktranslator]: Ignoring RootEdge to procedure nxt_motor_set_speed [2025-02-07 21:18:01,447 INFO L385 IcfgBacktranslator]: Ignoring RootEdge to procedure __startrek_write_obstacle_flag [2025-02-07 21:18:01,447 INFO L385 IcfgBacktranslator]: Ignoring RootEdge to procedure ecrobot_get_systick_ms [2025-02-07 21:18:01,447 INFO L385 IcfgBacktranslator]: Ignoring RootEdge to procedure nxt_motor_get_count [2025-02-07 21:18:01,447 INFO L385 IcfgBacktranslator]: Ignoring RootEdge to procedure __startrek_read_nxtway_gs_mode [2025-02-07 21:18:01,497 INFO L919 BoogieBacktranslator]: Reduced CFG by removing 31 nodes and edges [2025-02-07 21:18:01,504 INFO L919 BoogieBacktranslator]: Reduced CFG by removing 10 nodes and edges [2025-02-07 21:18:01,507 INFO L919 BoogieBacktranslator]: Reduced CFG by removing 1 nodes and edges [2025-02-07 21:18:01,518 INFO L919 BoogieBacktranslator]: Reduced CFG by removing 1 nodes and edges [2025-02-07 21:18:01,569 WARN L216 nessWitnessGenerator]: Not writing invariant because ACSL is forbidden: ((\old(__startrek_round) <= 26) && (__startrek_error_round == 27)) [2025-02-07 21:18:01,699 WARN L140 nessWitnessGenerator]: Not writing invariant because ACSL is forbidden: ((\old(__startrek_round) <= 26) && (__startrek_error_round == 27)) [2025-02-07 21:18:01,739 INFO L149 WitnessManager]: Wrote witness to /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/witness.graphml [2025-02-07 21:18:01,739 INFO L149 WitnessManager]: Wrote witness to /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/witness.yml [2025-02-07 21:18:01,739 INFO L131 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2025-02-07 21:18:01,740 INFO L158 Benchmark]: Toolchain (without parser) took 59110.10ms. Allocated memory was 142.6MB in the beginning and 469.8MB in the end (delta: 327.2MB). Free memory was 101.8MB in the beginning and 363.4MB in the end (delta: -261.5MB). Peak memory consumption was 327.9MB. Max. memory is 16.1GB. [2025-02-07 21:18:01,740 INFO L158 Benchmark]: CDTParser took 0.21ms. Allocated memory is still 201.3MB. Free memory is still 127.1MB. There was no memory consumed. Max. memory is 16.1GB. [2025-02-07 21:18:01,741 INFO L158 Benchmark]: CACSL2BoogieTranslator took 554.33ms. Allocated memory is still 142.6MB. Free memory was 101.8MB in the beginning and 39.4MB in the end (delta: 62.4MB). Peak memory consumption was 67.1MB. Max. memory is 16.1GB. [2025-02-07 21:18:01,741 INFO L158 Benchmark]: Boogie Procedure Inliner took 190.78ms. Allocated memory is still 142.6MB. Free memory was 39.4MB in the beginning and 67.8MB in the end (delta: -28.4MB). Peak memory consumption was 21.1MB. Max. memory is 16.1GB. [2025-02-07 21:18:01,743 INFO L158 Benchmark]: Boogie Preprocessor took 237.37ms. Allocated memory is still 142.6MB. Free memory was 67.8MB in the beginning and 41.6MB in the end (delta: 26.3MB). Peak memory consumption was 25.2MB. Max. memory is 16.1GB. [2025-02-07 21:18:01,743 INFO L158 Benchmark]: IcfgBuilder took 4691.76ms. Allocated memory was 142.6MB in the beginning and 352.3MB in the end (delta: 209.7MB). Free memory was 41.6MB in the beginning and 99.7MB in the end (delta: -58.1MB). Peak memory consumption was 169.4MB. Max. memory is 16.1GB. [2025-02-07 21:18:01,743 INFO L158 Benchmark]: TraceAbstraction took 53127.08ms. Allocated memory was 352.3MB in the beginning and 469.8MB in the end (delta: 117.4MB). Free memory was 99.0MB in the beginning and 143.3MB in the end (delta: -44.4MB). Peak memory consumption was 125.9MB. Max. memory is 16.1GB. [2025-02-07 21:18:01,743 INFO L158 Benchmark]: Witness Printer took 300.84ms. Allocated memory is still 469.8MB. Free memory was 143.3MB in the beginning and 363.4MB in the end (delta: -220.0MB). Peak memory consumption was 38.5MB. Max. memory is 16.1GB. [2025-02-07 21:18:01,744 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.21ms. Allocated memory is still 201.3MB. Free memory is still 127.1MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 554.33ms. Allocated memory is still 142.6MB. Free memory was 101.8MB in the beginning and 39.4MB in the end (delta: 62.4MB). Peak memory consumption was 67.1MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 190.78ms. Allocated memory is still 142.6MB. Free memory was 39.4MB in the beginning and 67.8MB in the end (delta: -28.4MB). Peak memory consumption was 21.1MB. Max. memory is 16.1GB. * Boogie Preprocessor took 237.37ms. Allocated memory is still 142.6MB. Free memory was 67.8MB in the beginning and 41.6MB in the end (delta: 26.3MB). Peak memory consumption was 25.2MB. Max. memory is 16.1GB. * IcfgBuilder took 4691.76ms. Allocated memory was 142.6MB in the beginning and 352.3MB in the end (delta: 209.7MB). Free memory was 41.6MB in the beginning and 99.7MB in the end (delta: -58.1MB). Peak memory consumption was 169.4MB. Max. memory is 16.1GB. * TraceAbstraction took 53127.08ms. Allocated memory was 352.3MB in the beginning and 469.8MB in the end (delta: 117.4MB). Free memory was 99.0MB in the beginning and 143.3MB in the end (delta: -44.4MB). Peak memory consumption was 125.9MB. Max. memory is 16.1GB. * Witness Printer took 300.84ms. Allocated memory is still 469.8MB. Free memory was 143.3MB in the beginning and 363.4MB in the end (delta: -220.0MB). Peak memory consumption was 38.5MB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: - GenericResultAtLocation [Line: 42]: Unsoundness Warning Ignoring preprocessor pragma C: #pragma merger(0,"/tmp/aaaa/nxt.bug1.i","-S") [42] - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Unknown variable: #memory_int#4 - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Cannot backtranslate array access to array IdentifierExpression[#memory_int#4,GLOBAL] - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Cannot backtranslate array access to array ArrayAccessExpression[IdentifierExpression[#memory_int#4,GLOBAL],[IdentifierExpression[~#__startrek_start_t1~0!base,GLOBAL]]] - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Unknown variable: #memory_int#5 - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Cannot backtranslate array access to array IdentifierExpression[#memory_int#5,GLOBAL] - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Cannot backtranslate array access to array ArrayAccessExpression[IdentifierExpression[#memory_int#5,GLOBAL],[IdentifierExpression[~#__startrek_end_t1~0!base,GLOBAL]]] - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Unknown variable: #memory_int#5 - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Cannot backtranslate array access to array IdentifierExpression[#memory_int#5,GLOBAL] - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Cannot backtranslate array access to array ArrayAccessExpression[IdentifierExpression[#memory_int#5,GLOBAL],[IdentifierExpression[~#__startrek_end_t1~0!base,GLOBAL]]] - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Unknown variable: #memory_int#3 - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Cannot backtranslate array access to array IdentifierExpression[#memory_int#3,GLOBAL] - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Cannot backtranslate array access to array ArrayAccessExpression[IdentifierExpression[#memory_int#3,GLOBAL],[IdentifierExpression[~#__startrek_end_t2~0!base,GLOBAL]]] - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Unknown variable: #memory_int#2 - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Cannot backtranslate array access to array IdentifierExpression[#memory_int#2,GLOBAL] - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Cannot backtranslate array access to array ArrayAccessExpression[IdentifierExpression[#memory_int#2,GLOBAL],[IdentifierExpression[~#__startrek_start_t2~0!base,GLOBAL]]] - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Unknown variable: #memory_int#2 - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Cannot backtranslate array access to array IdentifierExpression[#memory_int#2,GLOBAL] - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Cannot backtranslate array access to array ArrayAccessExpression[IdentifierExpression[#memory_int#2,GLOBAL],[IdentifierExpression[~#__startrek_start_t2~0!base,GLOBAL]]] * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - PositiveResult [Line: 43]: a call to reach_error is unreachable For all program executions holds that a call to reach_error is unreachable at this location - StatisticsResult: Ultimate Automizer benchmark data CFG has 16 procedures, 1091 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 47.9s, OverallIterations: 3, TraceHistogramMax: 87, PathProgramHistogramMax: 1, EmptinessCheckTime: 0.1s, AutomataDifference: 28.7s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 6803 SdHoareTripleChecker+Valid, 27.2s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 6803 mSDsluCounter, 8108 SdHoareTripleChecker+Invalid, 25.8s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 4498 mSDsCounter, 6697 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 11943 IncrementalHoareTripleChecker+Invalid, 18640 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 6697 mSolverCounterUnsat, 3610 mSDtfsCounter, 11943 mSolverCounterSat, 0.1s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 2192 GetRequests, 2136 SyntacticMatches, 0 SemanticMatches, 56 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 675 ImplicationChecksByTransitivity, 1.2s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=1076occurred in iteration=0, InterpolantAutomatonStates: 34, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.3s AutomataMinimizationTime, 3 MinimizatonAttempts, 31 StatesRemovedByMinimization, 1 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.5s SsaConstructionTime, 10.1s SatisfiabilityAnalysisTime, 6.5s InterpolantComputationTime, 3630 NumberOfCodeBlocks, 3630 NumberOfCodeBlocksAsserted, 5 NumberOfCheckSat, 4340 ConstructedInterpolants, 0 QuantifiedInterpolants, 15704 SizeOfPredicates, 11 NumberOfNonLiveVariables, 5106 ConjunctsInSsa, 32 ConjunctsInUnsatCore, 6 InterpolantComputations, 2 PerfectInterpolantSequences, 84762/86370 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available, ConComCheckerStatistics: No data available - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - InvariantResult [Line: 227]: Location Invariant Derived location invariant: ((\old(__startrek_round) <= 26) && (__startrek_error_round == 27)) RESULT: Ultimate proved your program to be correct! [2025-02-07 21:18:01,955 WARN L435 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (1)] Forcibly destroying the process [2025-02-07 21:18:01,987 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (1)] Forceful destruction successful, exit code 137 Received shutdown request... --- End real Ultimate output --- Execution finished normally Writing output log to file Ultimate.log Result: TRUE