./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/seq-mthreaded/rekcba_aso.1.M4-1.c --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 798a7b37 Calling Ultimate with: /root/.sdkman/candidates/java/21.0.5-tem/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.6.800.v20240513-1750.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/seq-mthreaded/rekcba_aso.1.M4-1.c -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/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 7236cecbd92b361c7dde7b9feb16da195b1cfc80435e4a8a50c2b2f61605ff24 --- Real Ultimate output --- This is Ultimate 0.3.0-?-798a7b3-m [2025-03-03 14:55:11,378 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-03-03 14:55:11,429 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2025-03-03 14:55:11,434 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-03-03 14:55:11,435 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-03-03 14:55:11,454 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-03-03 14:55:11,455 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-03-03 14:55:11,455 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-03-03 14:55:11,456 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2025-03-03 14:55:11,456 INFO L153 SettingsManager]: * Use memory slicer=true [2025-03-03 14:55:11,456 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2025-03-03 14:55:11,456 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2025-03-03 14:55:11,456 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-03-03 14:55:11,457 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-03-03 14:55:11,457 INFO L153 SettingsManager]: * Use SBE=true [2025-03-03 14:55:11,458 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-03-03 14:55:11,458 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2025-03-03 14:55:11,458 INFO L153 SettingsManager]: * sizeof long=4 [2025-03-03 14:55:11,458 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2025-03-03 14:55:11,458 INFO L153 SettingsManager]: * sizeof POINTER=4 [2025-03-03 14:55:11,458 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-03-03 14:55:11,458 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2025-03-03 14:55:11,458 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2025-03-03 14:55:11,458 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2025-03-03 14:55:11,458 INFO L153 SettingsManager]: * sizeof long double=12 [2025-03-03 14:55:11,458 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-03-03 14:55:11,458 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-03-03 14:55:11,459 INFO L153 SettingsManager]: * Use constant arrays=true [2025-03-03 14:55:11,459 INFO L151 SettingsManager]: Preferences of IcfgBuilder differ from their defaults: [2025-03-03 14:55:11,459 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-03-03 14:55:11,459 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-03-03 14:55:11,459 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-03-03 14:55:11,459 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-03-03 14:55:11,460 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-03-03 14:55:11,460 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2025-03-03 14:55:11,460 INFO L153 SettingsManager]: * Compute procedure contracts=false [2025-03-03 14:55:11,460 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2025-03-03 14:55:11,460 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2025-03-03 14:55:11,460 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2025-03-03 14:55:11,460 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2025-03-03 14:55:11,460 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2025-03-03 14:55:11,460 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2025-03-03 14:55:11,460 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2025-03-03 14:55:11,461 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/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 -> 7236cecbd92b361c7dde7b9feb16da195b1cfc80435e4a8a50c2b2f61605ff24 [2025-03-03 14:55:11,675 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-03-03 14:55:11,681 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-03-03 14:55:11,683 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-03-03 14:55:11,683 INFO L270 PluginConnector]: Initializing CDTParser... [2025-03-03 14:55:11,684 INFO L274 PluginConnector]: CDTParser initialized [2025-03-03 14:55:11,684 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/seq-mthreaded/rekcba_aso.1.M4-1.c [2025-03-03 14:55:12,895 INFO L533 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/365ea398e/5f87b0060edd475db79aa642336e3623/FLAG8bca00066 [2025-03-03 14:55:13,398 INFO L384 CDTParser]: Found 1 translation units. [2025-03-03 14:55:13,400 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/seq-mthreaded/rekcba_aso.1.M4-1.c [2025-03-03 14:55:13,434 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/365ea398e/5f87b0060edd475db79aa642336e3623/FLAG8bca00066 [2025-03-03 14:55:13,469 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/365ea398e/5f87b0060edd475db79aa642336e3623 [2025-03-03 14:55:13,470 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-03-03 14:55:13,471 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2025-03-03 14:55:13,472 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-03-03 14:55:13,472 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-03-03 14:55:13,475 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-03-03 14:55:13,476 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 03.03 02:55:13" (1/1) ... [2025-03-03 14:55:13,476 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@35bbe078 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.03 02:55:13, skipping insertion in model container [2025-03-03 14:55:13,476 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 03.03 02:55:13" (1/1) ... [2025-03-03 14:55:13,567 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-03-03 14:55:13,816 WARN L250 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/seq-mthreaded/rekcba_aso.1.M4-1.c[2313,2326] [2025-03-03 14:55:14,646 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-03-03 14:55:14,675 INFO L200 MainTranslator]: Completed pre-run [2025-03-03 14:55:14,681 WARN L75 lationResultReporter]: Unsoundness Warning: Ignoring preprocessor pragma C: #pragma merger(0,"/tmp/aaaa/aso.ok1.i","-S") [52] [2025-03-03 14:55:14,688 WARN L250 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/seq-mthreaded/rekcba_aso.1.M4-1.c[2313,2326] [2025-03-03 14:55:15,451 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-03-03 14:55:15,500 INFO L204 MainTranslator]: Completed translation [2025-03-03 14:55:15,501 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.03 02:55:15 WrapperNode [2025-03-03 14:55:15,502 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-03-03 14:55:15,503 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-03-03 14:55:15,503 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-03-03 14:55:15,503 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-03-03 14:55:15,509 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.03 02:55:15" (1/1) ... [2025-03-03 14:55:15,840 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.03 02:55:15" (1/1) ... [2025-03-03 14:55:17,150 INFO L138 Inliner]: procedures = 63, calls = 20397, calls flagged for inlining = 21, calls inlined = 21, statements flattened = 43682 [2025-03-03 14:55:17,151 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-03-03 14:55:17,152 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-03-03 14:55:17,152 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-03-03 14:55:17,152 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-03-03 14:55:17,158 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.03 02:55:15" (1/1) ... [2025-03-03 14:55:17,158 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.03 02:55:15" (1/1) ... [2025-03-03 14:55:17,487 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.03 02:55:15" (1/1) ... [2025-03-03 14:55:17,657 INFO L175 MemorySlicer]: Split 15933 memory accesses to 24 slices as follows [2, 8, 194, 2, 17, 9, 2784, 3760, 2408, 1672, 2, 1188, 852, 325, 429, 325, 429, 325, 4, 429, 325, 8, 7, 429]. 24 percent of accesses are in the largest equivalence class. The 1096 initializations are split as follows [2, 0, 0, 0, 8, 4, 96, 96, 8, 8, 0, 4, 4, 108, 108, 108, 108, 108, 0, 108, 108, 0, 2, 108]. The 1193 writes are split as follows [0, 4, 98, 1, 1, 1, 96, 96, 8, 8, 1, 4, 4, 109, 107, 109, 107, 109, 0, 107, 109, 4, 3, 107]. [2025-03-03 14:55:17,657 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.03 02:55:15" (1/1) ... [2025-03-03 14:55:17,657 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.03 02:55:15" (1/1) ... [2025-03-03 14:55:18,292 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.03 02:55:15" (1/1) ... [2025-03-03 14:55:18,334 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.03 02:55:15" (1/1) ... [2025-03-03 14:55:18,399 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.03 02:55:15" (1/1) ... [2025-03-03 14:55:18,458 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.03 02:55:15" (1/1) ... [2025-03-03 14:55:18,669 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-03-03 14:55:18,670 INFO L112 PluginConnector]: ------------------------IcfgBuilder---------------------------- [2025-03-03 14:55:18,670 INFO L270 PluginConnector]: Initializing IcfgBuilder... [2025-03-03 14:55:18,670 INFO L274 PluginConnector]: IcfgBuilder initialized [2025-03-03 14:55:18,671 INFO L184 PluginConnector]: Executing the observer IcfgBuilderObserver from plugin IcfgBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.03 02:55:15" (1/1) ... [2025-03-03 14:55:18,675 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-03-03 14:55:18,686 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-03 14:55:18,698 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (exit command is (exit), workingDir is null) [2025-03-03 14:55:18,701 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (1)] Waiting until timeout for monitored process [2025-03-03 14:55:18,718 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2025-03-03 14:55:18,718 INFO L130 BoogieDeclarations]: Found specification of procedure __startrek_read_cmd_forward [2025-03-03 14:55:18,718 INFO L138 BoogieDeclarations]: Found implementation of procedure __startrek_read_cmd_forward [2025-03-03 14:55:18,718 INFO L130 BoogieDeclarations]: Found specification of procedure __startrek_cs_t2 [2025-03-03 14:55:18,719 INFO L138 BoogieDeclarations]: Found implementation of procedure __startrek_cs_t2 [2025-03-03 14:55:18,719 INFO L130 BoogieDeclarations]: Found specification of procedure __startrek_write_nxtway_gs_mode [2025-03-03 14:55:18,719 INFO L138 BoogieDeclarations]: Found implementation of procedure __startrek_write_nxtway_gs_mode [2025-03-03 14:55:18,719 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int#0 [2025-03-03 14:55:18,719 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int#1 [2025-03-03 14:55:18,719 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int#2 [2025-03-03 14:55:18,719 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int#3 [2025-03-03 14:55:18,719 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int#4 [2025-03-03 14:55:18,719 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int#5 [2025-03-03 14:55:18,719 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int#6 [2025-03-03 14:55:18,719 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int#7 [2025-03-03 14:55:18,719 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int#8 [2025-03-03 14:55:18,719 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int#9 [2025-03-03 14:55:18,719 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int#10 [2025-03-03 14:55:18,720 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int#11 [2025-03-03 14:55:18,720 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int#12 [2025-03-03 14:55:18,720 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int#13 [2025-03-03 14:55:18,720 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int#14 [2025-03-03 14:55:18,720 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int#15 [2025-03-03 14:55:18,720 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int#16 [2025-03-03 14:55:18,720 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int#17 [2025-03-03 14:55:18,720 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int#18 [2025-03-03 14:55:18,720 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int#19 [2025-03-03 14:55:18,720 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int#20 [2025-03-03 14:55:18,720 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int#21 [2025-03-03 14:55:18,720 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int#22 [2025-03-03 14:55:18,720 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int#23 [2025-03-03 14:55:18,720 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2025-03-03 14:55:18,720 INFO L130 BoogieDeclarations]: Found specification of procedure __startrek_cs_t0 [2025-03-03 14:55:18,720 INFO L138 BoogieDeclarations]: Found implementation of procedure __startrek_cs_t0 [2025-03-03 14:55:18,720 INFO L130 BoogieDeclarations]: Found specification of procedure __startrek_cs_t1 [2025-03-03 14:55:18,720 INFO L138 BoogieDeclarations]: Found implementation of procedure __startrek_cs_t1 [2025-03-03 14:55:18,720 INFO L130 BoogieDeclarations]: Found specification of procedure __startrek_write_obstacle_flag [2025-03-03 14:55:18,720 INFO L138 BoogieDeclarations]: Found implementation of procedure __startrek_write_obstacle_flag [2025-03-03 14:55:18,720 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#0 [2025-03-03 14:55:18,720 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#1 [2025-03-03 14:55:18,721 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#2 [2025-03-03 14:55:18,721 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#3 [2025-03-03 14:55:18,721 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#4 [2025-03-03 14:55:18,721 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#5 [2025-03-03 14:55:18,721 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#6 [2025-03-03 14:55:18,721 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#7 [2025-03-03 14:55:18,721 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#8 [2025-03-03 14:55:18,721 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#9 [2025-03-03 14:55:18,721 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#10 [2025-03-03 14:55:18,721 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#11 [2025-03-03 14:55:18,721 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#12 [2025-03-03 14:55:18,721 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#13 [2025-03-03 14:55:18,721 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#14 [2025-03-03 14:55:18,721 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#15 [2025-03-03 14:55:18,721 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#16 [2025-03-03 14:55:18,721 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#17 [2025-03-03 14:55:18,721 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#18 [2025-03-03 14:55:18,721 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#19 [2025-03-03 14:55:18,721 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#20 [2025-03-03 14:55:18,721 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#21 [2025-03-03 14:55:18,721 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#22 [2025-03-03 14:55:18,721 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#23 [2025-03-03 14:55:18,721 INFO L130 BoogieDeclarations]: Found specification of procedure nxt_motor_set_count [2025-03-03 14:55:18,721 INFO L138 BoogieDeclarations]: Found implementation of procedure nxt_motor_set_count [2025-03-03 14:55:18,721 INFO L130 BoogieDeclarations]: Found specification of procedure ecrobot_get_gyro_sensor [2025-03-03 14:55:18,721 INFO L138 BoogieDeclarations]: Found implementation of procedure ecrobot_get_gyro_sensor [2025-03-03 14:55:18,721 INFO L130 BoogieDeclarations]: Found specification of procedure __startrek_write_cmd_turn [2025-03-03 14:55:18,721 INFO L138 BoogieDeclarations]: Found implementation of procedure __startrek_write_cmd_turn [2025-03-03 14:55:18,721 INFO L130 BoogieDeclarations]: Found specification of procedure __startrek_entry_pt_OSEK_Task_ts1 [2025-03-03 14:55:18,721 INFO L138 BoogieDeclarations]: Found implementation of procedure __startrek_entry_pt_OSEK_Task_ts1 [2025-03-03 14:55:18,721 INFO L130 BoogieDeclarations]: Found specification of procedure __startrek_entry_pt_OSEK_Task_ts2 [2025-03-03 14:55:18,721 INFO L138 BoogieDeclarations]: Found implementation of procedure __startrek_entry_pt_OSEK_Task_ts2 [2025-03-03 14:55:18,721 INFO L130 BoogieDeclarations]: Found specification of procedure __startrek_entry_pt_OSEK_Task_ts3 [2025-03-03 14:55:18,721 INFO L138 BoogieDeclarations]: Found implementation of procedure __startrek_entry_pt_OSEK_Task_ts3 [2025-03-03 14:55:18,721 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2025-03-03 14:55:18,721 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#0 [2025-03-03 14:55:18,722 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#1 [2025-03-03 14:55:18,722 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#2 [2025-03-03 14:55:18,722 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#3 [2025-03-03 14:55:18,722 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#4 [2025-03-03 14:55:18,722 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#5 [2025-03-03 14:55:18,722 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#6 [2025-03-03 14:55:18,722 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#7 [2025-03-03 14:55:18,722 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#8 [2025-03-03 14:55:18,722 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#9 [2025-03-03 14:55:18,722 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#10 [2025-03-03 14:55:18,722 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#11 [2025-03-03 14:55:18,722 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#12 [2025-03-03 14:55:18,722 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#13 [2025-03-03 14:55:18,722 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#14 [2025-03-03 14:55:18,722 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#15 [2025-03-03 14:55:18,722 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#16 [2025-03-03 14:55:18,722 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#17 [2025-03-03 14:55:18,722 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#18 [2025-03-03 14:55:18,722 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#19 [2025-03-03 14:55:18,722 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#20 [2025-03-03 14:55:18,722 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#21 [2025-03-03 14:55:18,722 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#22 [2025-03-03 14:55:18,722 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#23 [2025-03-03 14:55:18,722 INFO L130 BoogieDeclarations]: Found specification of procedure assert [2025-03-03 14:55:18,723 INFO L138 BoogieDeclarations]: Found implementation of procedure assert [2025-03-03 14:55:18,723 INFO L130 BoogieDeclarations]: Found specification of procedure nxt_motor_set_speed [2025-03-03 14:55:18,723 INFO L138 BoogieDeclarations]: Found implementation of procedure nxt_motor_set_speed [2025-03-03 14:55:18,723 INFO L130 BoogieDeclarations]: Found specification of procedure __startrek_write_cmd_forward [2025-03-03 14:55:18,723 INFO L138 BoogieDeclarations]: Found implementation of procedure __startrek_write_cmd_forward [2025-03-03 14:55:18,724 INFO L130 BoogieDeclarations]: Found specification of procedure __startrek_read_obstacle_flag [2025-03-03 14:55:18,724 INFO L138 BoogieDeclarations]: Found implementation of procedure __startrek_read_obstacle_flag [2025-03-03 14:55:18,724 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2025-03-03 14:55:18,724 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2025-03-03 14:55:18,724 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2025-03-03 14:55:18,724 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#1 [2025-03-03 14:55:18,724 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#2 [2025-03-03 14:55:18,724 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#3 [2025-03-03 14:55:18,724 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#4 [2025-03-03 14:55:18,724 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#5 [2025-03-03 14:55:18,724 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#6 [2025-03-03 14:55:18,724 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#7 [2025-03-03 14:55:18,724 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#8 [2025-03-03 14:55:18,724 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#9 [2025-03-03 14:55:18,724 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#10 [2025-03-03 14:55:18,724 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#11 [2025-03-03 14:55:18,724 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#12 [2025-03-03 14:55:18,725 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#13 [2025-03-03 14:55:18,725 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#14 [2025-03-03 14:55:18,725 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#15 [2025-03-03 14:55:18,725 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#16 [2025-03-03 14:55:18,725 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#17 [2025-03-03 14:55:18,725 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#18 [2025-03-03 14:55:18,725 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#19 [2025-03-03 14:55:18,725 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#20 [2025-03-03 14:55:18,725 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#21 [2025-03-03 14:55:18,725 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#22 [2025-03-03 14:55:18,725 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#23 [2025-03-03 14:55:18,725 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-03-03 14:55:18,725 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-03-03 14:55:18,725 INFO L130 BoogieDeclarations]: Found specification of procedure ecrobot_get_systick_ms [2025-03-03 14:55:18,725 INFO L138 BoogieDeclarations]: Found implementation of procedure ecrobot_get_systick_ms [2025-03-03 14:55:18,725 INFO L130 BoogieDeclarations]: Found specification of procedure nxt_motor_get_count [2025-03-03 14:55:18,725 INFO L138 BoogieDeclarations]: Found implementation of procedure nxt_motor_get_count [2025-03-03 14:55:18,726 INFO L130 BoogieDeclarations]: Found specification of procedure __startrek_read_nxtway_gs_mode [2025-03-03 14:55:18,726 INFO L138 BoogieDeclarations]: Found implementation of procedure __startrek_read_nxtway_gs_mode [2025-03-03 14:55:18,726 INFO L130 BoogieDeclarations]: Found specification of procedure __startrek_read_cmd_turn [2025-03-03 14:55:18,726 INFO L138 BoogieDeclarations]: Found implementation of procedure __startrek_read_cmd_turn [2025-03-03 14:55:20,111 INFO L256 CfgBuilder]: Building ICFG [2025-03-03 14:55:20,113 INFO L286 CfgBuilder]: Building CFG for each procedure with an implementation [2025-03-03 14:55:20,410 INFO L1325 $ProcedureCfgBuilder]: dead code at ProgramPoint L226: 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-03-03 14:55:20,410 INFO L1325 $ProcedureCfgBuilder]: dead code at ProgramPoint L94: 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-03-03 14:55:44,731 INFO L? ?]: Removed 330 outVars from TransFormulas that were not future-live. [2025-03-03 14:55:44,731 INFO L307 CfgBuilder]: Performing block encoding [2025-03-03 14:55:44,864 INFO L331 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-03-03 14:55:44,864 INFO L336 CfgBuilder]: Removed 0 assume(true) statements. [2025-03-03 14:55:44,865 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 03.03 02:55:44 BoogieIcfgContainer [2025-03-03 14:55:44,865 INFO L131 PluginConnector]: ------------------------ END IcfgBuilder---------------------------- [2025-03-03 14:55:44,867 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2025-03-03 14:55:44,868 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2025-03-03 14:55:44,871 INFO L274 PluginConnector]: TraceAbstraction initialized [2025-03-03 14:55:44,871 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 03.03 02:55:13" (1/3) ... [2025-03-03 14:55:44,872 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@571442f7 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 03.03 02:55:44, skipping insertion in model container [2025-03-03 14:55:44,872 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.03 02:55:15" (2/3) ... [2025-03-03 14:55:44,872 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@571442f7 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 03.03 02:55:44, skipping insertion in model container [2025-03-03 14:55:44,872 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 03.03 02:55:44" (3/3) ... [2025-03-03 14:55:44,873 INFO L128 eAbstractionObserver]: Analyzing ICFG rekcba_aso.1.M4-1.c [2025-03-03 14:55:44,883 INFO L216 ceAbstractionStarter]: Automizer settings: Hoare:LoopHeads NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2025-03-03 14:55:44,885 INFO L151 ceAbstractionStarter]: Applying trace abstraction to ICFG rekcba_aso.1.M4-1.c that has 22 procedures, 12639 locations, 1 initial locations, 1 loop locations, and 1 error locations. [2025-03-03 14:55:45,129 INFO L332 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2025-03-03 14:55:45,139 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;@7157a10e, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2025-03-03 14:55:45,140 INFO L334 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2025-03-03 14:55:45,170 INFO L276 IsEmpty]: Start isEmpty. Operand has 12639 states, 8208 states have (on average 1.3096978557504872) internal successors, (10750), 8321 states have internal predecessors, (10750), 4408 states have call successors, (4408), 21 states have call predecessors, (4408), 21 states have return successors, (4408), 4405 states have call predecessors, (4408), 4408 states have call successors, (4408) [2025-03-03 14:55:45,745 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5901 [2025-03-03 14:55:45,745 INFO L210 NwaCegarLoop]: Found error trace [2025-03-03 14:55:45,748 INFO L218 NwaCegarLoop]: trace histogram [551, 551, 551, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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-03-03 14:55:45,749 INFO L396 AbstractCegarLoop]: === Iteration 1 === Targeting assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-03-03 14:55:45,754 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-03 14:55:45,756 INFO L85 PathProgramCache]: Analyzing trace with hash 405311800, now seen corresponding path program 1 times [2025-03-03 14:55:45,761 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-03 14:55:45,761 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1172288559] [2025-03-03 14:55:45,762 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-03 14:55:45,763 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-03 14:56:09,112 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 5900 statements into 1 equivalence classes. [2025-03-03 14:56:09,329 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 5900 of 5900 statements. [2025-03-03 14:56:09,330 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-03 14:56:09,330 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-03 14:56:14,049 INFO L134 CoverageAnalysis]: Checked inductivity of 606100 backedges. 0 proven. 1100 refuted. 0 times theorem prover too weak. 605000 trivial. 0 not checked. [2025-03-03 14:56:14,049 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-03 14:56:14,050 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1172288559] [2025-03-03 14:56:14,050 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1172288559] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-03 14:56:14,050 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1217473272] [2025-03-03 14:56:14,051 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-03 14:56:14,052 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-03 14:56:14,052 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-03 14:56:14,054 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-03 14:56:14,055 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2025-03-03 14:56:38,904 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 5900 statements into 1 equivalence classes. [2025-03-03 14:56:40,694 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 5900 of 5900 statements. [2025-03-03 14:56:40,694 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-03 14:56:40,697 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-03 14:56:40,800 INFO L256 TraceCheckSpWp]: Trace formula consists of 19196 conjuncts, 1 conjuncts are in the unsatisfiable core [2025-03-03 14:56:40,928 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-03 14:56:41,177 INFO L134 CoverageAnalysis]: Checked inductivity of 606100 backedges. 1100 proven. 0 refuted. 0 times theorem prover too weak. 605000 trivial. 0 not checked. [2025-03-03 14:56:41,178 INFO L308 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2025-03-03 14:56:41,178 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1217473272] provided 1 perfect and 0 imperfect interpolant sequences [2025-03-03 14:56:41,178 INFO L185 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2025-03-03 14:56:41,179 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [2] total 2 [2025-03-03 14:56:41,180 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1358906780] [2025-03-03 14:56:41,180 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-03 14:56:41,191 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2025-03-03 14:56:41,192 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-03 14:56:41,211 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2025-03-03 14:56:41,211 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2025-03-03 14:56:41,248 INFO L87 Difference]: Start difference. First operand has 12639 states, 8208 states have (on average 1.3096978557504872) internal successors, (10750), 8321 states have internal predecessors, (10750), 4408 states have call successors, (4408), 21 states have call predecessors, (4408), 21 states have return successors, (4408), 4405 states have call predecessors, (4408), 4408 states have call successors, (4408) Second operand has 2 states, 2 states have (on average 1574.5) internal successors, (3149), 2 states have internal predecessors, (3149), 2 states have call successors, (552), 2 states have call predecessors, (552), 1 states have return successors, (551), 1 states have call predecessors, (551), 2 states have call successors, (551) [2025-03-03 14:56:41,673 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-03 14:56:41,673 INFO L93 Difference]: Finished difference Result 25273 states and 43514 transitions. [2025-03-03 14:56:41,675 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2025-03-03 14:56:41,680 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 1574.5) internal successors, (3149), 2 states have internal predecessors, (3149), 2 states have call successors, (552), 2 states have call predecessors, (552), 1 states have return successors, (551), 1 states have call predecessors, (551), 2 states have call successors, (551) Word has length 5900 [2025-03-03 14:56:41,680 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2025-03-03 14:56:41,776 INFO L225 Difference]: With dead ends: 25273 [2025-03-03 14:56:41,776 INFO L226 Difference]: Without dead ends: 12631 [2025-03-03 14:56:41,844 INFO L434 NwaCegarLoop]: 0 DeclaredPredicates, 5901 GetRequests, 5901 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2025-03-03 14:56:41,846 INFO L435 NwaCegarLoop]: 19564 mSDtfsCounter, 0 mSDsluCounter, 0 mSDsCounter, 0 mSdLazyCounter, 0 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 19564 SdHoareTripleChecker+Invalid, 0 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 0 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2025-03-03 14:56:41,848 INFO L436 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 19564 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2025-03-03 14:56:41,877 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 12631 states.