./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/seq-mthreaded/rekcba_aso.2.M4-2.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_aso.2.M4-2.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 13ab100f899a57e5eca7e0526610c7b743f980d5e72b80cc180b4d884d35b9a9 --- Real Ultimate output --- This is Ultimate 0.3.0-?-48c9605-m [2025-02-07 21:15:34,937 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-02-07 21:15:34,991 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:15:34,995 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-02-07 21:15:34,995 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-02-07 21:15:35,009 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-02-07 21:15:35,010 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-02-07 21:15:35,010 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-02-07 21:15:35,010 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2025-02-07 21:15:35,011 INFO L153 SettingsManager]: * Use memory slicer=true [2025-02-07 21:15:35,011 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2025-02-07 21:15:35,011 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2025-02-07 21:15:35,011 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-02-07 21:15:35,011 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-02-07 21:15:35,011 INFO L153 SettingsManager]: * Use SBE=true [2025-02-07 21:15:35,011 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-02-07 21:15:35,011 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2025-02-07 21:15:35,012 INFO L153 SettingsManager]: * sizeof long=4 [2025-02-07 21:15:35,012 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2025-02-07 21:15:35,012 INFO L153 SettingsManager]: * sizeof POINTER=4 [2025-02-07 21:15:35,012 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-02-07 21:15:35,012 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2025-02-07 21:15:35,012 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2025-02-07 21:15:35,012 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2025-02-07 21:15:35,012 INFO L153 SettingsManager]: * sizeof long double=12 [2025-02-07 21:15:35,012 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-02-07 21:15:35,012 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-02-07 21:15:35,012 INFO L153 SettingsManager]: * Use constant arrays=true [2025-02-07 21:15:35,012 INFO L151 SettingsManager]: Preferences of IcfgBuilder differ from their defaults: [2025-02-07 21:15:35,012 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-02-07 21:15:35,013 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-02-07 21:15:35,013 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-02-07 21:15:35,013 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-02-07 21:15:35,013 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-02-07 21:15:35,013 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2025-02-07 21:15:35,013 INFO L153 SettingsManager]: * Compute procedure contracts=false [2025-02-07 21:15:35,013 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2025-02-07 21:15:35,013 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2025-02-07 21:15:35,013 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2025-02-07 21:15:35,013 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2025-02-07 21:15:35,013 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2025-02-07 21:15:35,013 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2025-02-07 21:15:35,014 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2025-02-07 21:15:35,014 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 -> 13ab100f899a57e5eca7e0526610c7b743f980d5e72b80cc180b4d884d35b9a9 [2025-02-07 21:15:35,193 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-02-07 21:15:35,198 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-02-07 21:15:35,199 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-02-07 21:15:35,200 INFO L270 PluginConnector]: Initializing CDTParser... [2025-02-07 21:15:35,200 INFO L274 PluginConnector]: CDTParser initialized [2025-02-07 21:15:35,200 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/seq-mthreaded/rekcba_aso.2.M4-2.c [2025-02-07 21:15:36,292 INFO L533 CDTParser]: Created temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/80948c076/2ffdd40b898349d49a13a1becb2422cb/FLAG64880cd3e [2025-02-07 21:15:36,802 INFO L384 CDTParser]: Found 1 translation units. [2025-02-07 21:15:36,803 INFO L180 CDTParser]: Scanning /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/seq-mthreaded/rekcba_aso.2.M4-2.c [2025-02-07 21:15:36,877 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/80948c076/2ffdd40b898349d49a13a1becb2422cb/FLAG64880cd3e [2025-02-07 21:15:36,890 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/80948c076/2ffdd40b898349d49a13a1becb2422cb [2025-02-07 21:15:36,892 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-02-07 21:15:36,894 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2025-02-07 21:15:36,895 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-02-07 21:15:36,895 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-02-07 21:15:36,899 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-02-07 21:15:36,900 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 07.02 09:15:36" (1/1) ... [2025-02-07 21:15:36,901 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@70d2b123 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 09:15:36, skipping insertion in model container [2025-02-07 21:15:36,901 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 07.02 09:15:36" (1/1) ... [2025-02-07 21:15:37,015 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-02-07 21:15:37,234 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_aso.2.M4-2.c[2320,2333] [2025-02-07 21:15:38,330 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-02-07 21:15:38,370 INFO L200 MainTranslator]: Completed pre-run [2025-02-07 21:15:38,377 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"/tmp/aaaa/aso.ok2.i","-S") [48] [2025-02-07 21:15:38,382 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_aso.2.M4-2.c[2320,2333] [2025-02-07 21:15:39,044 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-02-07 21:15:39,103 INFO L204 MainTranslator]: Completed translation [2025-02-07 21:15:39,104 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 09:15:39 WrapperNode [2025-02-07 21:15:39,104 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-02-07 21:15:39,105 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-02-07 21:15:39,105 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-02-07 21:15:39,106 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-02-07 21:15:39,111 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:15:39" (1/1) ... [2025-02-07 21:15:39,343 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:15:39" (1/1) ... [2025-02-07 21:15:41,615 INFO L138 Inliner]: procedures = 73, calls = 23336, calls flagged for inlining = 28, calls inlined = 28, statements flattened = 48993 [2025-02-07 21:15:41,616 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-02-07 21:15:41,621 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-02-07 21:15:41,621 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-02-07 21:15:41,621 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-02-07 21:15:41,637 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 09:15:39" (1/1) ... [2025-02-07 21:15:41,640 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 09:15:39" (1/1) ... [2025-02-07 21:15:42,509 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 09:15:39" (1/1) ... [2025-02-07 21:15:42,708 INFO L175 MemorySlicer]: Split 18581 memory accesses to 32 slices as follows [8, 2, 2, 194, 17, 9, 2784, 3584, 2352, 1664, 1060, 4, 852, 325, 429, 325, 429, 7, 325, 429, 8, 325, 429, 325, 429, 325, 429, 2, 325, 429, 325, 429]. 19 percent of accesses are in the largest equivalence class. The 1960 initializations are split as follows [0, 0, 2, 0, 8, 4, 96, 96, 8, 8, 4, 0, 4, 108, 108, 108, 108, 2, 108, 108, 0, 108, 108, 108, 108, 108, 108, 0, 108, 108, 108, 108]. The 2057 writes are split as follows [4, 1, 0, 98, 1, 1, 96, 96, 8, 8, 4, 0, 4, 109, 107, 109, 107, 3, 109, 107, 4, 109, 107, 109, 107, 109, 107, 1, 109, 107, 109, 107]. [2025-02-07 21:15:42,709 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 09:15:39" (1/1) ... [2025-02-07 21:15:42,709 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 09:15:39" (1/1) ... [2025-02-07 21:15:43,629 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 09:15:39" (1/1) ... [2025-02-07 21:15:43,673 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 09:15:39" (1/1) ... [2025-02-07 21:15:43,750 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 09:15:39" (1/1) ... [2025-02-07 21:15:43,821 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 09:15:39" (1/1) ... [2025-02-07 21:15:44,017 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-02-07 21:15:44,019 INFO L112 PluginConnector]: ------------------------IcfgBuilder---------------------------- [2025-02-07 21:15:44,020 INFO L270 PluginConnector]: Initializing IcfgBuilder... [2025-02-07 21:15:44,020 INFO L274 PluginConnector]: IcfgBuilder initialized [2025-02-07 21:15:44,021 INFO L184 PluginConnector]: Executing the observer IcfgBuilderObserver from plugin IcfgBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 09:15:39" (1/1) ... [2025-02-07 21:15:44,025 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-02-07 21:15:44,035 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-07 21:15:44,048 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:15:44,051 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:15:44,069 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2025-02-07 21:15:44,069 INFO L130 BoogieDeclarations]: Found specification of procedure __startrek_write_trans [2025-02-07 21:15:44,070 INFO L138 BoogieDeclarations]: Found implementation of procedure __startrek_write_trans [2025-02-07 21:15:44,070 INFO L130 BoogieDeclarations]: Found specification of procedure __startrek_read_cmd_forward [2025-02-07 21:15:44,070 INFO L138 BoogieDeclarations]: Found implementation of procedure __startrek_read_cmd_forward [2025-02-07 21:15:44,070 INFO L130 BoogieDeclarations]: Found specification of procedure __startrek_cs_t2 [2025-02-07 21:15:44,070 INFO L138 BoogieDeclarations]: Found implementation of procedure __startrek_cs_t2 [2025-02-07 21:15:44,070 INFO L130 BoogieDeclarations]: Found specification of procedure __startrek_write_nxtway_gs_mode [2025-02-07 21:15:44,070 INFO L138 BoogieDeclarations]: Found implementation of procedure __startrek_write_nxtway_gs_mode [2025-02-07 21:15:44,070 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int#0 [2025-02-07 21:15:44,070 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int#1 [2025-02-07 21:15:44,071 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int#2 [2025-02-07 21:15:44,071 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int#3 [2025-02-07 21:15:44,071 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int#4 [2025-02-07 21:15:44,071 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int#5 [2025-02-07 21:15:44,071 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int#6 [2025-02-07 21:15:44,071 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int#7 [2025-02-07 21:15:44,071 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int#8 [2025-02-07 21:15:44,071 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int#9 [2025-02-07 21:15:44,071 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int#10 [2025-02-07 21:15:44,071 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int#11 [2025-02-07 21:15:44,071 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int#12 [2025-02-07 21:15:44,072 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int#13 [2025-02-07 21:15:44,072 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int#14 [2025-02-07 21:15:44,072 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int#15 [2025-02-07 21:15:44,072 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int#16 [2025-02-07 21:15:44,072 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int#17 [2025-02-07 21:15:44,072 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int#18 [2025-02-07 21:15:44,072 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int#19 [2025-02-07 21:15:44,072 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int#20 [2025-02-07 21:15:44,072 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int#21 [2025-02-07 21:15:44,073 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int#22 [2025-02-07 21:15:44,073 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int#23 [2025-02-07 21:15:44,073 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int#24 [2025-02-07 21:15:44,073 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int#25 [2025-02-07 21:15:44,073 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int#26 [2025-02-07 21:15:44,073 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int#27 [2025-02-07 21:15:44,073 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int#28 [2025-02-07 21:15:44,073 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int#29 [2025-02-07 21:15:44,073 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int#30 [2025-02-07 21:15:44,073 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int#31 [2025-02-07 21:15:44,073 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2025-02-07 21:15:44,073 INFO L130 BoogieDeclarations]: Found specification of procedure __startrek_cs_t0 [2025-02-07 21:15:44,073 INFO L138 BoogieDeclarations]: Found implementation of procedure __startrek_cs_t0 [2025-02-07 21:15:44,073 INFO L130 BoogieDeclarations]: Found specification of procedure __startrek_cs_t1 [2025-02-07 21:15:44,073 INFO L138 BoogieDeclarations]: Found implementation of procedure __startrek_cs_t1 [2025-02-07 21:15:44,073 INFO L130 BoogieDeclarations]: Found specification of procedure __startrek_read___startrek_current_priority [2025-02-07 21:15:44,073 INFO L138 BoogieDeclarations]: Found implementation of procedure __startrek_read___startrek_current_priority [2025-02-07 21:15:44,073 INFO L130 BoogieDeclarations]: Found specification of procedure __startrek_write_obstacle_flag [2025-02-07 21:15:44,073 INFO L138 BoogieDeclarations]: Found implementation of procedure __startrek_write_obstacle_flag [2025-02-07 21:15:44,073 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#0 [2025-02-07 21:15:44,073 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#1 [2025-02-07 21:15:44,073 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#2 [2025-02-07 21:15:44,073 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#3 [2025-02-07 21:15:44,073 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#4 [2025-02-07 21:15:44,073 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#5 [2025-02-07 21:15:44,073 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#6 [2025-02-07 21:15:44,073 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#7 [2025-02-07 21:15:44,073 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#8 [2025-02-07 21:15:44,073 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#9 [2025-02-07 21:15:44,073 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#10 [2025-02-07 21:15:44,073 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#11 [2025-02-07 21:15:44,073 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#12 [2025-02-07 21:15:44,073 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#13 [2025-02-07 21:15:44,073 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#14 [2025-02-07 21:15:44,073 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#15 [2025-02-07 21:15:44,074 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#16 [2025-02-07 21:15:44,074 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#17 [2025-02-07 21:15:44,074 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#18 [2025-02-07 21:15:44,074 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#19 [2025-02-07 21:15:44,074 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#20 [2025-02-07 21:15:44,074 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#21 [2025-02-07 21:15:44,074 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#22 [2025-02-07 21:15:44,074 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#23 [2025-02-07 21:15:44,074 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#24 [2025-02-07 21:15:44,074 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#25 [2025-02-07 21:15:44,074 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#26 [2025-02-07 21:15:44,074 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#27 [2025-02-07 21:15:44,074 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#28 [2025-02-07 21:15:44,074 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#29 [2025-02-07 21:15:44,074 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#30 [2025-02-07 21:15:44,074 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#31 [2025-02-07 21:15:44,074 INFO L130 BoogieDeclarations]: Found specification of procedure nxt_motor_set_count [2025-02-07 21:15:44,074 INFO L138 BoogieDeclarations]: Found implementation of procedure nxt_motor_set_count [2025-02-07 21:15:44,074 INFO L130 BoogieDeclarations]: Found specification of procedure ecrobot_get_gyro_sensor [2025-02-07 21:15:44,074 INFO L138 BoogieDeclarations]: Found implementation of procedure ecrobot_get_gyro_sensor [2025-02-07 21:15:44,074 INFO L130 BoogieDeclarations]: Found specification of procedure __startrek_write_cmd_turn [2025-02-07 21:15:44,074 INFO L138 BoogieDeclarations]: Found implementation of procedure __startrek_write_cmd_turn [2025-02-07 21:15:44,074 INFO L130 BoogieDeclarations]: Found specification of procedure __startrek_write___startrek_current_priority [2025-02-07 21:15:44,074 INFO L138 BoogieDeclarations]: Found implementation of procedure __startrek_write___startrek_current_priority [2025-02-07 21:15:44,074 INFO L130 BoogieDeclarations]: Found specification of procedure __startrek_entry_pt_OSEK_Task_ts1 [2025-02-07 21:15:44,074 INFO L138 BoogieDeclarations]: Found implementation of procedure __startrek_entry_pt_OSEK_Task_ts1 [2025-02-07 21:15:44,074 INFO L130 BoogieDeclarations]: Found specification of procedure __startrek_entry_pt_OSEK_Task_ts2 [2025-02-07 21:15:44,074 INFO L138 BoogieDeclarations]: Found implementation of procedure __startrek_entry_pt_OSEK_Task_ts2 [2025-02-07 21:15:44,074 INFO L130 BoogieDeclarations]: Found specification of procedure __startrek_entry_pt_OSEK_Task_ts3 [2025-02-07 21:15:44,074 INFO L138 BoogieDeclarations]: Found implementation of procedure __startrek_entry_pt_OSEK_Task_ts3 [2025-02-07 21:15:44,074 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2025-02-07 21:15:44,074 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#0 [2025-02-07 21:15:44,078 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#1 [2025-02-07 21:15:44,078 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#2 [2025-02-07 21:15:44,078 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#3 [2025-02-07 21:15:44,078 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#4 [2025-02-07 21:15:44,078 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#5 [2025-02-07 21:15:44,078 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#6 [2025-02-07 21:15:44,078 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#7 [2025-02-07 21:15:44,078 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#8 [2025-02-07 21:15:44,078 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#9 [2025-02-07 21:15:44,078 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#10 [2025-02-07 21:15:44,079 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#11 [2025-02-07 21:15:44,079 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#12 [2025-02-07 21:15:44,079 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#13 [2025-02-07 21:15:44,079 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#14 [2025-02-07 21:15:44,079 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#15 [2025-02-07 21:15:44,079 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#16 [2025-02-07 21:15:44,079 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#17 [2025-02-07 21:15:44,079 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#18 [2025-02-07 21:15:44,079 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#19 [2025-02-07 21:15:44,079 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#20 [2025-02-07 21:15:44,079 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#21 [2025-02-07 21:15:44,079 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#22 [2025-02-07 21:15:44,079 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#23 [2025-02-07 21:15:44,079 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#24 [2025-02-07 21:15:44,079 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#25 [2025-02-07 21:15:44,079 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#26 [2025-02-07 21:15:44,079 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#27 [2025-02-07 21:15:44,079 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#28 [2025-02-07 21:15:44,079 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#29 [2025-02-07 21:15:44,079 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#30 [2025-02-07 21:15:44,079 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#31 [2025-02-07 21:15:44,079 INFO L130 BoogieDeclarations]: Found specification of procedure assert [2025-02-07 21:15:44,079 INFO L138 BoogieDeclarations]: Found implementation of procedure assert [2025-02-07 21:15:44,079 INFO L130 BoogieDeclarations]: Found specification of procedure nxt_motor_set_speed [2025-02-07 21:15:44,079 INFO L138 BoogieDeclarations]: Found implementation of procedure nxt_motor_set_speed [2025-02-07 21:15:44,079 INFO L130 BoogieDeclarations]: Found specification of procedure __startrek_write_cmd_forward [2025-02-07 21:15:44,079 INFO L138 BoogieDeclarations]: Found implementation of procedure __startrek_write_cmd_forward [2025-02-07 21:15:44,079 INFO L130 BoogieDeclarations]: Found specification of procedure __startrek_read_obstacle_flag [2025-02-07 21:15:44,079 INFO L138 BoogieDeclarations]: Found implementation of procedure __startrek_read_obstacle_flag [2025-02-07 21:15:44,079 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2025-02-07 21:15:44,079 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2025-02-07 21:15:44,079 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2025-02-07 21:15:44,079 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#1 [2025-02-07 21:15:44,079 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#2 [2025-02-07 21:15:44,079 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#3 [2025-02-07 21:15:44,079 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#4 [2025-02-07 21:15:44,079 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#5 [2025-02-07 21:15:44,079 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#6 [2025-02-07 21:15:44,079 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#7 [2025-02-07 21:15:44,079 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#8 [2025-02-07 21:15:44,080 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#9 [2025-02-07 21:15:44,080 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#10 [2025-02-07 21:15:44,080 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#11 [2025-02-07 21:15:44,080 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#12 [2025-02-07 21:15:44,080 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#13 [2025-02-07 21:15:44,080 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#14 [2025-02-07 21:15:44,080 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#15 [2025-02-07 21:15:44,080 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#16 [2025-02-07 21:15:44,080 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#17 [2025-02-07 21:15:44,080 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#18 [2025-02-07 21:15:44,080 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#19 [2025-02-07 21:15:44,080 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#20 [2025-02-07 21:15:44,080 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#21 [2025-02-07 21:15:44,080 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#22 [2025-02-07 21:15:44,080 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#23 [2025-02-07 21:15:44,080 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#24 [2025-02-07 21:15:44,080 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#25 [2025-02-07 21:15:44,080 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#26 [2025-02-07 21:15:44,080 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#27 [2025-02-07 21:15:44,080 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#28 [2025-02-07 21:15:44,080 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#29 [2025-02-07 21:15:44,080 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#30 [2025-02-07 21:15:44,080 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#31 [2025-02-07 21:15:44,080 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-02-07 21:15:44,080 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-02-07 21:15:44,083 INFO L130 BoogieDeclarations]: Found specification of procedure ecrobot_get_systick_ms [2025-02-07 21:15:44,084 INFO L138 BoogieDeclarations]: Found implementation of procedure ecrobot_get_systick_ms [2025-02-07 21:15:44,084 INFO L130 BoogieDeclarations]: Found specification of procedure nxt_motor_get_count [2025-02-07 21:15:44,084 INFO L138 BoogieDeclarations]: Found implementation of procedure nxt_motor_get_count [2025-02-07 21:15:44,084 INFO L130 BoogieDeclarations]: Found specification of procedure __startrek_read_nxtway_gs_mode [2025-02-07 21:15:44,084 INFO L138 BoogieDeclarations]: Found implementation of procedure __startrek_read_nxtway_gs_mode [2025-02-07 21:15:44,084 INFO L130 BoogieDeclarations]: Found specification of procedure __startrek_read_cmd_turn [2025-02-07 21:15:44,084 INFO L138 BoogieDeclarations]: Found implementation of procedure __startrek_read_cmd_turn [2025-02-07 21:15:45,636 INFO L257 CfgBuilder]: Building ICFG [2025-02-07 21:15:45,638 INFO L287 CfgBuilder]: Building CFG for each procedure with an implementation [2025-02-07 21:15:46,044 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L13067-1: assume __startrek_assert_i0_#t~switch13550#1;call write~int#5(0, ~#__startrek_Assert_t0_i0~0.base, ~#__startrek_Assert_t0_i0~0.offset + (if ~__startrek_job~0 % 256 % 4294967296 <= 2147483647 then ~__startrek_job~0 % 256 % 4294967296 else ~__startrek_job~0 % 256 % 4294967296 - 4294967296), 1); [2025-02-07 21:15:46,045 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L13067-1: assume !__startrek_assert_i0_#t~switch13550#1;__startrek_assert_i0_#t~switch13550#1 := __startrek_assert_i0_#t~switch13550#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:15:46,048 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L300: OSEK_Task_ts1_~tmp___9~0#1 := OSEK_Task_ts1_#t~ret45#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 := ~task_cmd_forward~0, ~task_cmd_turn~0, OSEK_Task_ts1_~tmp___9~0#1, ~gyro_offset~0, OSEK_Task_ts1_~tmp___8~0#1, OSEK_Task_ts1_~tmp___7~0#1, OSEK_Task_ts1_~tmp___6~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#0(~ud_theta_ref~0, balance_control_~#tmp~0#1.base, balance_control_~#tmp~0#1.offset, 4);call write~int#0(~convertFLOATToUINT(0.0), balance_control_~#tmp~0#1.base, 4 + balance_control_~#tmp~0#1.offset, 4);call write~int#0(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#0(~convertFLOATToUINT(0.0), balance_control_~#tmp~0#1.base, 12 + balance_control_~#tmp~0#1.offset, 4);call write~int#20(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#20(~ud_psi~0, balance_control_~#tmp_theta_0~0#1.base, 4 + balance_control_~#tmp_theta_0~0#1.offset, 4);call write~int#20(~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#20(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#0(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#20(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#0(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#20(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#0(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#20(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#0(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#20(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:15:46,049 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L300-1: SUMMARY for call OSEK_Task_ts1_#t~ret45#1 := ecrobot_get_gyro_sensor(3); srcloc: null [2025-02-07 21:15:46,049 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L267: SUMMARY for call nxt_motor_set_count(0, 0); srcloc: null [2025-02-07 21:15:46,049 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L13067-2: __startrek_assert_i0_#t~switch13550#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:15:46,049 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L284-1: assume 0 != OSEK_Task_ts1_~lobstacle~0#1 % 256;assume { :begin_inline___startrek_assert_i0 } true;__startrek_assert_i0_#in~arg#1 := (if 0 == (if -100 == ~task_cmd_forward~0 && 0 == ~task_cmd_turn~0 then 1 else 0) then 0 else 1);havoc __startrek_assert_i0_#t~switch13550#1, __startrek_assert_i0_~arg#1;__startrek_assert_i0_~arg#1 := __startrek_assert_i0_#in~arg#1; [2025-02-07 21:15:46,049 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L284-1: assume !(0 != OSEK_Task_ts1_~lobstacle~0#1 % 256); [2025-02-07 21:15:46,049 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L284-2: assume 0 == OSEK_Task_ts1_~tmp___5~0#1 % 256; [2025-02-07 21:15:46,049 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L284-2: assume !(0 == OSEK_Task_ts1_~tmp___5~0#1 % 256); [2025-02-07 21:15:46,049 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L268: SUMMARY for call nxt_motor_set_count(1, 0); srcloc: null [2025-02-07 21:15:46,049 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L13060: assume 0 != __startrek_assert_i0_~arg#1 % 256; [2025-02-07 21:15:46,049 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L13060: assume !(0 != __startrek_assert_i0_~arg#1 % 256); [2025-02-07 21:15:46,049 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L285: OSEK_Task_ts1_#t~ret38#1 := __startrek_read_trans_#res#1;havoc __startrek_read_trans_#t~switch15720#1, __startrek_read_trans_#t~ret15721#1, __startrek_read_trans_#t~ret15722#1, __startrek_read_trans_#t~ret15723#1, __startrek_read_trans_#t~mem15724#1, __startrek_read_trans_~r1~5#1, __startrek_read_trans_~c2~5#1, __startrek_read_trans_~or3~5#1;assume { :end_inline___startrek_read_trans } true;OSEK_Task_ts1_~tmp___5~0#1 := (if 0 == OSEK_Task_ts1_#t~ret38#1 % 256 then 0 else 1); [2025-02-07 21:15:46,049 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L244: 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:15:46,049 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L269: ~cal_start_time~0 := OSEK_Task_ts1_#t~ret34#1; [2025-02-07 21:15:46,049 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L269-1: SUMMARY for call OSEK_Task_ts1_#t~ret34#1 := ecrobot_get_systick_ms(); srcloc: null [2025-02-07 21:15:46,049 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L13070-1: assume __startrek_assert_i0_#t~switch13550#1;call write~int#4(0, ~#__startrek_Assert_t1_i0~0.base, ~#__startrek_Assert_t1_i0~0.offset + (if ~__startrek_job~0 % 256 % 4294967296 <= 2147483647 then ~__startrek_job~0 % 256 % 4294967296 else ~__startrek_job~0 % 256 % 4294967296 - 4294967296), 1); [2025-02-07 21:15:46,049 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L13070-1: assume !__startrek_assert_i0_#t~switch13550#1;__startrek_assert_i0_#t~switch13550#1 := __startrek_assert_i0_#t~switch13550#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:15:46,049 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L270: SUMMARY for call __startrek_write_nxtway_gs_mode(1); srcloc: null [2025-02-07 21:15:46,049 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L105: 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~mem46#1 := read~int#27(OSEK_Task_ts1_~#pwm_l~0#1.base, OSEK_Task_ts1_~#pwm_l~0#1.offset, 1); [2025-02-07 21:15:46,049 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L287: OSEK_Task_ts1_~tmp___2~0#1 := (if 0 == OSEK_Task_ts1_#t~ret39#1 % 256 then 0 else 1);havoc OSEK_Task_ts1_#t~ret39#1;OSEK_Task_ts1_~lobstacle~0#1 := (if 0 == OSEK_Task_ts1_~tmp___2~0#1 % 256 then 0 else 1); [2025-02-07 21:15:46,049 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L287-1: SUMMARY for call OSEK_Task_ts1_#t~ret39#1 := __startrek_read_obstacle_flag(); srcloc: null [2025-02-07 21:15:46,049 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L304: call OSEK_Task_ts1_#t~mem47#1 := read~int#1(OSEK_Task_ts1_~#pwm_r~0#1.base, OSEK_Task_ts1_~#pwm_r~0#1.offset, 1); [2025-02-07 21:15:46,049 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L304-1: SUMMARY for call nxt_motor_set_speed(0, OSEK_Task_ts1_#t~mem46#1, 1); srcloc: null [2025-02-07 21:15:46,049 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L13063: assume (if ~__startrek_round~0 % 256 % 4294967296 <= 2147483647 then ~__startrek_round~0 % 256 % 4294967296 else ~__startrek_round~0 % 256 % 4294967296 - 4294967296) < (if ~__startrek_error_round~0 % 256 % 4294967296 <= 2147483647 then ~__startrek_error_round~0 % 256 % 4294967296 else ~__startrek_error_round~0 % 256 % 4294967296 - 4294967296);~__startrek_error_round~0 := ~__startrek_round~0; [2025-02-07 21:15:46,049 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L13063: assume !((if ~__startrek_round~0 % 256 % 4294967296 <= 2147483647 then ~__startrek_round~0 % 256 % 4294967296 else ~__startrek_round~0 % 256 % 4294967296 - 4294967296) < (if ~__startrek_error_round~0 % 256 % 4294967296 <= 2147483647 then ~__startrek_error_round~0 % 256 % 4294967296 else ~__startrek_error_round~0 % 256 % 4294967296 - 4294967296)); [2025-02-07 21:15:46,051 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L280: 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:15:46,051 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L305: SUMMARY for call nxt_motor_set_speed(1, OSEK_Task_ts1_#t~mem47#1, 1); srcloc: null [2025-02-07 21:15:46,051 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L297: OSEK_Task_ts1_#t~ret42#1 := ecrobot_get_battery_voltage_#res#1;havoc ecrobot_get_battery_voltage_#t~nondet29#1, ecrobot_get_battery_voltage_~tmp~3#1;assume { :end_inline_ecrobot_get_battery_voltage } true;OSEK_Task_ts1_~tmp___6~0#1 := OSEK_Task_ts1_#t~ret42#1; [2025-02-07 21:15:46,051 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L297-1: assume { :begin_inline_ecrobot_get_battery_voltage } true;havoc ecrobot_get_battery_voltage_#res#1;havoc ecrobot_get_battery_voltage_#t~nondet29#1, ecrobot_get_battery_voltage_~tmp~3#1;havoc ecrobot_get_battery_voltage_~tmp~3#1;havoc ecrobot_get_battery_voltage_#t~nondet29#1;ecrobot_get_battery_voltage_~tmp~3#1 := ecrobot_get_battery_voltage_#t~nondet29#1;havoc ecrobot_get_battery_voltage_#t~nondet29#1;ecrobot_get_battery_voltage_#res#1 := ecrobot_get_battery_voltage_~tmp~3#1; [2025-02-07 21:15:46,051 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L289: assume -128 <= OSEK_Task_ts1_#t~ret40#1 && OSEK_Task_ts1_#t~ret40#1 <= 127;OSEK_Task_ts1_~tmp___3~0#1 := OSEK_Task_ts1_#t~ret40#1;havoc OSEK_Task_ts1_#t~ret40#1;~task_cmd_turn~0 := OSEK_Task_ts1_~tmp___3~0#1; [2025-02-07 21:15:46,051 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L289-1: SUMMARY for call OSEK_Task_ts1_#t~ret40#1 := __startrek_read_cmd_turn(); srcloc: null [2025-02-07 21:15:46,051 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L281: SUMMARY for call __startrek_write_nxtway_gs_mode(2); srcloc: null [2025-02-07 21:15:46,051 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L298: assume -128 <= OSEK_Task_ts1_#t~ret43#1 && OSEK_Task_ts1_#t~ret43#1 <= 127;OSEK_Task_ts1_~tmp___7~0#1 := OSEK_Task_ts1_#t~ret43#1; [2025-02-07 21:15:46,051 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L13073-1: assume __startrek_assert_i0_#t~switch13550#1;call write~int#3(0, ~#__startrek_Assert_t2_i0~0.base, ~#__startrek_Assert_t2_i0~0.offset + (if ~__startrek_job~0 % 256 % 4294967296 <= 2147483647 then ~__startrek_job~0 % 256 % 4294967296 else ~__startrek_job~0 % 256 % 4294967296 - 4294967296), 1); [2025-02-07 21:15:46,051 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L13073-1: assume !__startrek_assert_i0_#t~switch13550#1;havoc __startrek_assert_i0_#t~switch13550#1;havoc __startrek_assert_i0_#t~switch13550#1;havoc __startrek_assert_i0_#t~switch13550#1, __startrek_assert_i0_~arg#1;havoc __startrek_assert_i0_#in~arg#1;assume { :end_inline___startrek_assert_i0 } true; [2025-02-07 21:15:46,051 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L298-1: SUMMARY for call OSEK_Task_ts1_#t~ret43#1 := nxt_motor_get_count(1); srcloc: null [2025-02-07 21:15:46,052 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L13057: assume 0 != (if ~__startrek_hyper_period~0 % 256 % 4294967296 <= 2147483647 then ~__startrek_hyper_period~0 % 256 % 4294967296 else ~__startrek_hyper_period~0 % 256 % 4294967296 - 4294967296); [2025-02-07 21:15:46,052 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L13057: assume !(0 != (if ~__startrek_hyper_period~0 % 256 % 4294967296 <= 2147483647 then ~__startrek_hyper_period~0 % 256 % 4294967296 else ~__startrek_hyper_period~0 % 256 % 4294967296 - 4294967296)); [2025-02-07 21:15:46,052 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L299: assume -128 <= OSEK_Task_ts1_#t~ret44#1 && OSEK_Task_ts1_#t~ret44#1 <= 127;OSEK_Task_ts1_~tmp___8~0#1 := OSEK_Task_ts1_#t~ret44#1; [2025-02-07 21:15:46,052 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L299-1: SUMMARY for call OSEK_Task_ts1_#t~ret44#1 := nxt_motor_get_count(0); srcloc: null [2025-02-07 21:15:46,052 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L266: assume { :end_inline_balance_init } true; [2025-02-07 21:15:46,052 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L134: 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#27((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#1((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:15:46,053 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L134-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:15:46,053 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L291: assume -128 <= OSEK_Task_ts1_#t~ret41#1 && OSEK_Task_ts1_#t~ret41#1 <= 127;OSEK_Task_ts1_~tmp___4~0#1 := OSEK_Task_ts1_#t~ret41#1;havoc OSEK_Task_ts1_#t~ret41#1;~task_cmd_forward~0 := OSEK_Task_ts1_~tmp___4~0#1; [2025-02-07 21:15:46,053 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L291-1: SUMMARY for call OSEK_Task_ts1_#t~ret41#1 := __startrek_read_cmd_forward(); srcloc: null [2025-02-07 21:15:46,103 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L337: SUMMARY for call __startrek_write_cmd_forward(-100); srcloc: null [2025-02-07 21:15:46,103 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L333: OSEK_Task_ts2_#t~ret50#1 := ecrobot_get_sonar_sensor_#res#1;havoc ecrobot_get_sonar_sensor_#t~nondet48#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~ret50#1;havoc OSEK_Task_ts2_#t~ret50#1; [2025-02-07 21:15:46,103 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L338: SUMMARY for call __startrek_write_cmd_turn(0); srcloc: null [2025-02-07 21:15:46,103 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L334: 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:15:46,103 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L334: 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:15:46,103 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L339: SUMMARY for call __startrek_write_trans(0); srcloc: null [2025-02-07 21:15:46,103 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L335: SUMMARY for call __startrek_write_trans(1); srcloc: null [2025-02-07 21:15:46,103 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L336: SUMMARY for call __startrek_write_obstacle_flag(1); srcloc: null [2025-02-07 21:15:46,132 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L380: 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:15:46,132 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L378: assume -128 <= OSEK_Task_ts3_#t~ret57#1 && OSEK_Task_ts3_#t~ret57#1 <= 127;OSEK_Task_ts3_~tmp___1~2#1 := OSEK_Task_ts3_#t~ret57#1;havoc OSEK_Task_ts3_#t~ret57#1; [2025-02-07 21:15:46,132 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L378-1: SUMMARY for call OSEK_Task_ts3_#t~ret57#1 := __startrek_read_cmd_turn(); srcloc: null [2025-02-07 21:15:46,132 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L376: havoc __startrek_release_pi_lock_~arg0#1;havoc __startrek_release_pi_lock_#in~arg0#1;assume { :end_inline___startrek_release_pi_lock } true; [2025-02-07 21:15:46,132 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L376-1: assume { :begin_inline___startrek_release_pi_lock } true;__startrek_release_pi_lock_#in~arg0#1 := 0;havoc __startrek_release_pi_lock_~arg0#1;__startrek_release_pi_lock_~arg0#1 := __startrek_release_pi_lock_#in~arg0#1; [2025-02-07 21:15:46,132 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L372: havoc OSEK_Task_ts3_#t~mem55#1;call OSEK_Task_ts3_#t~mem56#1 := read~int#17(~#bt_receive_buf~0.base, 1 + ~#bt_receive_buf~0.offset, 1); [2025-02-07 21:15:46,132 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L372-1: SUMMARY for call __startrek_write_cmd_forward((if -(if OSEK_Task_ts3_#t~mem55#1 % 256 % 256 <= 127 then OSEK_Task_ts3_#t~mem55#1 % 256 % 256 else OSEK_Task_ts3_#t~mem55#1 % 256 % 256 - 256) % 256 <= 127 then -(if OSEK_Task_ts3_#t~mem55#1 % 256 % 256 <= 127 then OSEK_Task_ts3_#t~mem55#1 % 256 % 256 else OSEK_Task_ts3_#t~mem55#1 % 256 % 256 - 256) % 256 else -(if OSEK_Task_ts3_#t~mem55#1 % 256 % 256 <= 127 then OSEK_Task_ts3_#t~mem55#1 % 256 % 256 else OSEK_Task_ts3_#t~mem55#1 % 256 % 256 - 256) % 256 - 256)); srcloc: null [2025-02-07 21:15:46,132 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L370: OSEK_Task_ts3_~tmp___0~3#1 := (if 0 == OSEK_Task_ts3_#t~ret54#1 % 256 then 0 else 1); [2025-02-07 21:15:46,132 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L370-1: SUMMARY for call OSEK_Task_ts3_#t~ret54#1 := __startrek_read_obstacle_flag(); srcloc: null [2025-02-07 21:15:46,133 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L366-1: assume 0 != OSEK_Task_ts3_~wrote~0#1 % 256; [2025-02-07 21:15:46,133 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L366-1: assume !(0 != OSEK_Task_ts3_~wrote~0#1 % 256); [2025-02-07 21:15:46,133 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L366-2: assume 0 == OSEK_Task_ts3_~tmp___0~3#1 % 256;call OSEK_Task_ts3_#t~mem55#1 := read~int#17(~#bt_receive_buf~0.base, ~#bt_receive_buf~0.offset, 1); [2025-02-07 21:15:46,133 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L366-2: assume !(0 == OSEK_Task_ts3_~tmp___0~3#1 % 256); [2025-02-07 21:15:46,133 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L379: assume -128 <= OSEK_Task_ts3_#t~ret58#1 && OSEK_Task_ts3_#t~ret58#1 <= 127;OSEK_Task_ts3_~tmp___2~1#1 := OSEK_Task_ts3_#t~ret58#1;havoc OSEK_Task_ts3_#t~ret58#1;assume { :begin_inline_ecrobot_bt_data_logger } true;ecrobot_bt_data_logger_#in~arg0#1, ecrobot_bt_data_logger_#in~arg1#1 := OSEK_Task_ts3_~tmp___2~1#1, OSEK_Task_ts3_~tmp___1~2#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:15:46,133 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L379-1: SUMMARY for call OSEK_Task_ts3_#t~ret58#1 := __startrek_read_cmd_forward(); srcloc: null [2025-02-07 21:15:46,133 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L373: havoc OSEK_Task_ts3_#t~mem56#1;OSEK_Task_ts3_~wrote~0#1 := 1; [2025-02-07 21:15:46,133 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L373-1: SUMMARY for call __startrek_write_cmd_turn((if OSEK_Task_ts3_#t~mem56#1 % 256 % 256 <= 127 then OSEK_Task_ts3_#t~mem56#1 % 256 % 256 else OSEK_Task_ts3_#t~mem56#1 % 256 % 256 - 256)); srcloc: null [2025-02-07 21:15:46,133 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L369: havoc __startrek_get_pi_lock_~arg0#1;havoc __startrek_get_pi_lock_#in~arg0#1;assume { :end_inline___startrek_get_pi_lock } true; [2025-02-07 21:15:46,133 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L367: havoc ecrobot_read_bt_packet_#t~nondet27#1, ecrobot_read_bt_packet_#t~nondet28#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;OSEK_Task_ts3_~wrote~0#1 := 0;assume { :begin_inline___startrek_get_pi_lock } true;__startrek_get_pi_lock_#in~arg0#1 := 0;havoc __startrek_get_pi_lock_~arg0#1;__startrek_get_pi_lock_~arg0#1 := __startrek_get_pi_lock_#in~arg0#1; [2025-02-07 21:16:16,030 INFO L? ?]: Removed 336 outVars from TransFormulas that were not future-live. [2025-02-07 21:16:16,031 INFO L308 CfgBuilder]: Performing block encoding [2025-02-07 21:16:16,156 INFO L332 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-02-07 21:16:16,156 INFO L337 CfgBuilder]: Removed 0 assume(true) statements. [2025-02-07 21:16:16,157 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 07.02 09:16:16 BoogieIcfgContainer [2025-02-07 21:16:16,158 INFO L131 PluginConnector]: ------------------------ END IcfgBuilder---------------------------- [2025-02-07 21:16:16,159 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2025-02-07 21:16:16,159 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2025-02-07 21:16:16,163 INFO L274 PluginConnector]: TraceAbstraction initialized [2025-02-07 21:16:16,163 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 07.02 09:15:36" (1/3) ... [2025-02-07 21:16:16,164 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@28fe4e08 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 07.02 09:16:16, skipping insertion in model container [2025-02-07 21:16:16,164 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.02 09:15:39" (2/3) ... [2025-02-07 21:16:16,165 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@28fe4e08 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 07.02 09:16:16, skipping insertion in model container [2025-02-07 21:16:16,165 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 07.02 09:16:16" (3/3) ... [2025-02-07 21:16:16,166 INFO L128 eAbstractionObserver]: Analyzing ICFG rekcba_aso.2.M4-2.c [2025-02-07 21:16:16,176 INFO L216 ceAbstractionStarter]: Automizer settings: Hoare:LoopHeads NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2025-02-07 21:16:16,180 INFO L151 ceAbstractionStarter]: Applying trace abstraction to ICFG rekcba_aso.2.M4-2.c that has 25 procedures, 13164 locations, 1 initial locations, 1 loop locations, and 1 error locations. [2025-02-07 21:16:16,400 INFO L332 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2025-02-07 21:16:16,407 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;@3762ae7d, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2025-02-07 21:16:16,407 INFO L334 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2025-02-07 21:16:16,432 INFO L276 IsEmpty]: Start isEmpty. Operand has 13095 states, 8416 states have (on average 1.3012119771863118) internal successors, (10951), 8528 states have internal predecessors, (10951), 4639 states have call successors, (4639), 15 states have call predecessors, (4639), 15 states have return successors, (4639), 4639 states have call predecessors, (4639), 4639 states have call successors, (4639) [2025-02-07 21:16:17,261 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8464 [2025-02-07 21:16:17,262 INFO L210 NwaCegarLoop]: Found error trace [2025-02-07 21:16:17,270 INFO L218 NwaCegarLoop]: trace histogram [979, 979, 979, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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:16:17,270 INFO L396 AbstractCegarLoop]: === Iteration 1 === Targeting assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-02-07 21:16:17,282 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-07 21:16:17,288 INFO L85 PathProgramCache]: Analyzing trace with hash -1050861432, now seen corresponding path program 1 times [2025-02-07 21:16:17,294 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-07 21:16:17,294 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1617654481] [2025-02-07 21:16:17,296 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-07 21:16:17,296 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms