./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/hardness-nfm22/hardness_codestructure_steplocals_file-76.i --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 551b0097 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/hardness-nfm22/hardness_codestructure_steplocals_file-76.i -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 811e442ced91272f27290482f64220479ec828b108df11e4b6856fb1b291eb09 --- Real Ultimate output --- This is Ultimate 0.3.0-?-551b009-m [2025-01-09 08:58:39,984 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-01-09 08:58:40,033 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2025-01-09 08:58:40,037 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-01-09 08:58:40,037 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-01-09 08:58:40,051 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-01-09 08:58:40,052 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-01-09 08:58:40,052 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-01-09 08:58:40,052 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2025-01-09 08:58:40,052 INFO L153 SettingsManager]: * Use memory slicer=true [2025-01-09 08:58:40,052 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2025-01-09 08:58:40,052 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2025-01-09 08:58:40,053 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-01-09 08:58:40,053 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-01-09 08:58:40,053 INFO L153 SettingsManager]: * Use SBE=true [2025-01-09 08:58:40,053 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-01-09 08:58:40,053 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2025-01-09 08:58:40,053 INFO L153 SettingsManager]: * sizeof long=4 [2025-01-09 08:58:40,053 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2025-01-09 08:58:40,053 INFO L153 SettingsManager]: * sizeof POINTER=4 [2025-01-09 08:58:40,053 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-01-09 08:58:40,053 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2025-01-09 08:58:40,054 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2025-01-09 08:58:40,054 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2025-01-09 08:58:40,054 INFO L153 SettingsManager]: * sizeof long double=12 [2025-01-09 08:58:40,054 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-01-09 08:58:40,054 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-01-09 08:58:40,054 INFO L153 SettingsManager]: * Use constant arrays=true [2025-01-09 08:58:40,054 INFO L151 SettingsManager]: Preferences of IcfgBuilder differ from their defaults: [2025-01-09 08:58:40,054 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-09 08:58:40,054 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-01-09 08:58:40,054 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-01-09 08:58:40,054 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 08:58:40,054 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2025-01-09 08:58:40,054 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-09 08:58:40,054 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-01-09 08:58:40,054 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-01-09 08:58:40,054 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 08:58:40,054 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-01-09 08:58:40,054 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2025-01-09 08:58:40,054 INFO L153 SettingsManager]: * Compute procedure contracts=false [2025-01-09 08:58:40,055 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2025-01-09 08:58:40,055 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2025-01-09 08:58:40,055 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2025-01-09 08:58:40,055 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2025-01-09 08:58:40,055 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2025-01-09 08:58:40,055 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2025-01-09 08:58:40,055 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2025-01-09 08:58:40,055 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 -> 811e442ced91272f27290482f64220479ec828b108df11e4b6856fb1b291eb09 [2025-01-09 08:58:40,263 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-01-09 08:58:40,268 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-01-09 08:58:40,270 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-01-09 08:58:40,271 INFO L270 PluginConnector]: Initializing CDTParser... [2025-01-09 08:58:40,271 INFO L274 PluginConnector]: CDTParser initialized [2025-01-09 08:58:40,271 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/hardness-nfm22/hardness_codestructure_steplocals_file-76.i [2025-01-09 08:58:41,387 INFO L533 CDTParser]: Created temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/c77e2dcac/19bff377adba418bbc4a1eb003aaa75b/FLAGb3f7a43cb [2025-01-09 08:58:41,631 INFO L384 CDTParser]: Found 1 translation units. [2025-01-09 08:58:41,633 INFO L180 CDTParser]: Scanning /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/hardness-nfm22/hardness_codestructure_steplocals_file-76.i [2025-01-09 08:58:41,640 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/c77e2dcac/19bff377adba418bbc4a1eb003aaa75b/FLAGb3f7a43cb [2025-01-09 08:58:41,655 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/c77e2dcac/19bff377adba418bbc4a1eb003aaa75b [2025-01-09 08:58:41,657 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-01-09 08:58:41,658 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2025-01-09 08:58:41,660 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-01-09 08:58:41,660 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-01-09 08:58:41,663 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-01-09 08:58:41,664 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.01 08:58:41" (1/1) ... [2025-01-09 08:58:41,665 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@3e61c32e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:58:41, skipping insertion in model container [2025-01-09 08:58:41,665 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.01 08:58:41" (1/1) ... [2025-01-09 08:58:41,680 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-01-09 08:58:41,803 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/hardness-nfm22/hardness_codestructure_steplocals_file-76.i[917,930] [2025-01-09 08:58:41,837 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-09 08:58:41,843 INFO L200 MainTranslator]: Completed pre-run [2025-01-09 08:58:41,850 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/hardness-nfm22/hardness_codestructure_steplocals_file-76.i[917,930] [2025-01-09 08:58:41,870 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-09 08:58:41,880 INFO L204 MainTranslator]: Completed translation [2025-01-09 08:58:41,882 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:58:41 WrapperNode [2025-01-09 08:58:41,882 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-01-09 08:58:41,883 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-01-09 08:58:41,884 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-01-09 08:58:41,884 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-01-09 08:58:41,889 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:58:41" (1/1) ... [2025-01-09 08:58:41,895 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:58:41" (1/1) ... [2025-01-09 08:58:41,923 INFO L138 Inliner]: procedures = 26, calls = 36, calls flagged for inlining = 8, calls inlined = 8, statements flattened = 166 [2025-01-09 08:58:41,927 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-01-09 08:58:41,927 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-01-09 08:58:41,927 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-01-09 08:58:41,927 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-01-09 08:58:41,935 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:58:41" (1/1) ... [2025-01-09 08:58:41,936 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:58:41" (1/1) ... [2025-01-09 08:58:41,937 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:58:41" (1/1) ... [2025-01-09 08:58:41,951 INFO L175 MemorySlicer]: Split 2 memory accesses to 1 slices as follows [2]. 100 percent of accesses are in the largest equivalence class. The 2 initializations are split as follows [2]. The 0 writes are split as follows [0]. [2025-01-09 08:58:41,952 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:58:41" (1/1) ... [2025-01-09 08:58:41,953 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:58:41" (1/1) ... [2025-01-09 08:58:41,959 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:58:41" (1/1) ... [2025-01-09 08:58:41,963 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:58:41" (1/1) ... [2025-01-09 08:58:41,965 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:58:41" (1/1) ... [2025-01-09 08:58:41,966 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:58:41" (1/1) ... [2025-01-09 08:58:41,970 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:58:41" (1/1) ... [2025-01-09 08:58:41,972 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-01-09 08:58:41,972 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2025-01-09 08:58:41,973 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2025-01-09 08:58:41,976 INFO L274 PluginConnector]: RCFGBuilder initialized [2025-01-09 08:58:41,977 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:58:41" (1/1) ... [2025-01-09 08:58:41,981 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 08:58:41,992 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-09 08:58:42,003 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-01-09 08:58:42,006 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-01-09 08:58:42,022 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2025-01-09 08:58:42,022 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2025-01-09 08:58:42,022 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2025-01-09 08:58:42,022 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2025-01-09 08:58:42,022 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-01-09 08:58:42,022 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-01-09 08:58:42,078 INFO L234 CfgBuilder]: Building ICFG [2025-01-09 08:58:42,080 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2025-01-09 08:58:42,368 INFO L? ?]: Removed 14 outVars from TransFormulas that were not future-live. [2025-01-09 08:58:42,369 INFO L283 CfgBuilder]: Performing block encoding [2025-01-09 08:58:42,377 INFO L307 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-01-09 08:58:42,379 INFO L312 CfgBuilder]: Removed 1 assume(true) statements. [2025-01-09 08:58:42,379 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 08:58:42 BoogieIcfgContainer [2025-01-09 08:58:42,379 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2025-01-09 08:58:42,381 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2025-01-09 08:58:42,381 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2025-01-09 08:58:42,385 INFO L274 PluginConnector]: TraceAbstraction initialized [2025-01-09 08:58:42,385 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 09.01 08:58:41" (1/3) ... [2025-01-09 08:58:42,385 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3708171 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 09.01 08:58:42, skipping insertion in model container [2025-01-09 08:58:42,385 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:58:41" (2/3) ... [2025-01-09 08:58:42,386 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3708171 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 09.01 08:58:42, skipping insertion in model container [2025-01-09 08:58:42,386 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 08:58:42" (3/3) ... [2025-01-09 08:58:42,387 INFO L128 eAbstractionObserver]: Analyzing ICFG hardness_codestructure_steplocals_file-76.i [2025-01-09 08:58:42,401 INFO L216 ceAbstractionStarter]: Automizer settings: Hoare:LoopHeads NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2025-01-09 08:58:42,403 INFO L151 ceAbstractionStarter]: Applying trace abstraction to ICFG hardness_codestructure_steplocals_file-76.i that has 2 procedures, 77 locations, 1 initial locations, 1 loop locations, and 1 error locations. [2025-01-09 08:58:42,443 INFO L332 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2025-01-09 08:58:42,451 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;@415492fc, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2025-01-09 08:58:42,451 INFO L334 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2025-01-09 08:58:42,454 INFO L276 IsEmpty]: Start isEmpty. Operand has 77 states, 51 states have (on average 1.411764705882353) internal successors, (72), 52 states have internal predecessors, (72), 23 states have call successors, (23), 1 states have call predecessors, (23), 1 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2025-01-09 08:58:42,461 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 150 [2025-01-09 08:58:42,461 INFO L210 NwaCegarLoop]: Found error trace [2025-01-09 08:58:42,461 INFO L218 NwaCegarLoop]: trace histogram [23, 23, 23, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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-01-09 08:58:42,462 INFO L396 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-01-09 08:58:42,465 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 08:58:42,465 INFO L85 PathProgramCache]: Analyzing trace with hash 76587619, now seen corresponding path program 1 times [2025-01-09 08:58:42,470 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 08:58:42,471 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1595614467] [2025-01-09 08:58:42,471 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 08:58:42,471 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 08:58:42,540 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 149 statements into 1 equivalence classes. [2025-01-09 08:58:42,557 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 149 of 149 statements. [2025-01-09 08:58:42,560 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 08:58:42,560 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 08:58:42,725 INFO L134 CoverageAnalysis]: Checked inductivity of 1012 backedges. 0 proven. 44 refuted. 0 times theorem prover too weak. 968 trivial. 0 not checked. [2025-01-09 08:58:42,726 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-09 08:58:42,726 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1595614467] [2025-01-09 08:58:42,726 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1595614467] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-09 08:58:42,727 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [177971372] [2025-01-09 08:58:42,728 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 08:58:42,728 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-09 08:58:42,728 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-09 08:58:42,730 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-09 08:58:42,731 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2025-01-09 08:58:42,803 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 149 statements into 1 equivalence classes. [2025-01-09 08:58:42,871 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 149 of 149 statements. [2025-01-09 08:58:42,871 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 08:58:42,871 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 08:58:42,874 INFO L256 TraceCheckSpWp]: Trace formula consists of 331 conjuncts, 1 conjuncts are in the unsatisfiable core [2025-01-09 08:58:42,898 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-09 08:58:42,924 INFO L134 CoverageAnalysis]: Checked inductivity of 1012 backedges. 44 proven. 0 refuted. 0 times theorem prover too weak. 968 trivial. 0 not checked. [2025-01-09 08:58:42,925 INFO L308 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2025-01-09 08:58:42,925 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [177971372] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-09 08:58:42,925 INFO L185 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2025-01-09 08:58:42,925 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [2] total 2 [2025-01-09 08:58:42,929 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1889521936] [2025-01-09 08:58:42,929 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 08:58:42,932 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2025-01-09 08:58:42,932 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-09 08:58:42,945 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2025-01-09 08:58:42,945 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2025-01-09 08:58:42,947 INFO L87 Difference]: Start difference. First operand has 77 states, 51 states have (on average 1.411764705882353) internal successors, (72), 52 states have internal predecessors, (72), 23 states have call successors, (23), 1 states have call predecessors, (23), 1 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) Second operand has 2 states, 2 states have (on average 19.5) internal successors, (39), 2 states have internal predecessors, (39), 2 states have call successors, (23), 2 states have call predecessors, (23), 1 states have return successors, (23), 1 states have call predecessors, (23), 2 states have call successors, (23) [2025-01-09 08:58:42,969 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-09 08:58:42,970 INFO L93 Difference]: Finished difference Result 148 states and 254 transitions. [2025-01-09 08:58:42,971 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2025-01-09 08:58:42,972 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 19.5) internal successors, (39), 2 states have internal predecessors, (39), 2 states have call successors, (23), 2 states have call predecessors, (23), 1 states have return successors, (23), 1 states have call predecessors, (23), 2 states have call successors, (23) Word has length 149 [2025-01-09 08:58:42,972 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2025-01-09 08:58:42,977 INFO L225 Difference]: With dead ends: 148 [2025-01-09 08:58:42,977 INFO L226 Difference]: Without dead ends: 74 [2025-01-09 08:58:42,979 INFO L434 NwaCegarLoop]: 0 DeclaredPredicates, 150 GetRequests, 150 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-01-09 08:58:42,981 INFO L435 NwaCegarLoop]: 113 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, 113 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-01-09 08:58:42,981 INFO L436 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 113 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2025-01-09 08:58:42,990 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2025-01-09 08:58:43,007 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 74. [2025-01-09 08:58:43,009 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 74 states, 49 states have (on average 1.3673469387755102) internal successors, (67), 49 states have internal predecessors, (67), 23 states have call successors, (23), 1 states have call predecessors, (23), 1 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2025-01-09 08:58:43,015 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 113 transitions. [2025-01-09 08:58:43,017 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 113 transitions. Word has length 149 [2025-01-09 08:58:43,017 INFO L84 Accepts]: Finished accepts. word is rejected. [2025-01-09 08:58:43,017 INFO L471 AbstractCegarLoop]: Abstraction has 74 states and 113 transitions. [2025-01-09 08:58:43,017 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 19.5) internal successors, (39), 2 states have internal predecessors, (39), 2 states have call successors, (23), 2 states have call predecessors, (23), 1 states have return successors, (23), 1 states have call predecessors, (23), 2 states have call successors, (23) [2025-01-09 08:58:43,018 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 113 transitions. [2025-01-09 08:58:43,021 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 150 [2025-01-09 08:58:43,022 INFO L210 NwaCegarLoop]: Found error trace [2025-01-09 08:58:43,022 INFO L218 NwaCegarLoop]: trace histogram [23, 23, 23, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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-01-09 08:58:43,031 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2025-01-09 08:58:43,223 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable0 [2025-01-09 08:58:43,224 INFO L396 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-01-09 08:58:43,224 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 08:58:43,224 INFO L85 PathProgramCache]: Analyzing trace with hash 1698688361, now seen corresponding path program 1 times [2025-01-09 08:58:43,225 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 08:58:43,225 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1785375030] [2025-01-09 08:58:43,225 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 08:58:43,225 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 08:58:43,253 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 149 statements into 1 equivalence classes. [2025-01-09 08:58:43,366 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 149 of 149 statements. [2025-01-09 08:58:43,366 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 08:58:43,366 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unknown [2025-01-09 08:58:43,369 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [479003345] [2025-01-09 08:58:43,369 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 08:58:43,370 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-09 08:58:43,370 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-09 08:58:43,371 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-09 08:58:43,374 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2025-01-09 08:58:43,418 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 149 statements into 1 equivalence classes. [2025-01-09 08:58:43,484 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 149 of 149 statements. [2025-01-09 08:58:43,485 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 08:58:43,485 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-09 08:58:43,485 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-09 08:58:43,502 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 149 statements into 1 equivalence classes. [2025-01-09 08:58:43,520 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 149 of 149 statements. [2025-01-09 08:58:43,521 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 08:58:43,521 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-09 08:58:43,580 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-09 08:58:43,581 INFO L340 BasicCegarLoop]: Counterexample is feasible [2025-01-09 08:58:43,582 INFO L782 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2025-01-09 08:58:43,591 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2025-01-09 08:58:43,783 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,3 /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-09 08:58:43,786 INFO L422 BasicCegarLoop]: Path program histogram: [1, 1] [2025-01-09 08:58:43,855 INFO L170 ceAbstractionStarter]: Computing trace abstraction results [2025-01-09 08:58:43,860 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 09.01 08:58:43 BoogieIcfgContainer [2025-01-09 08:58:43,860 INFO L131 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2025-01-09 08:58:43,861 INFO L112 PluginConnector]: ------------------------Witness Printer---------------------------- [2025-01-09 08:58:43,861 INFO L270 PluginConnector]: Initializing Witness Printer... [2025-01-09 08:58:43,862 INFO L274 PluginConnector]: Witness Printer initialized [2025-01-09 08:58:43,862 INFO L184 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 08:58:42" (3/4) ... [2025-01-09 08:58:43,864 INFO L149 WitnessPrinter]: No result that supports witness generation found [2025-01-09 08:58:43,864 INFO L131 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2025-01-09 08:58:43,865 INFO L158 Benchmark]: Toolchain (without parser) took 2206.41ms. Allocated memory is still 142.6MB. Free memory was 109.7MB in the beginning and 52.5MB in the end (delta: 57.2MB). Peak memory consumption was 56.5MB. Max. memory is 16.1GB. [2025-01-09 08:58:43,865 INFO L158 Benchmark]: CDTParser took 0.18ms. Allocated memory is still 226.5MB. Free memory is still 148.8MB. There was no memory consumed. Max. memory is 16.1GB. [2025-01-09 08:58:43,865 INFO L158 Benchmark]: CACSL2BoogieTranslator took 223.10ms. Allocated memory is still 142.6MB. Free memory was 108.8MB in the beginning and 95.3MB in the end (delta: 13.5MB). Peak memory consumption was 16.8MB. Max. memory is 16.1GB. [2025-01-09 08:58:43,865 INFO L158 Benchmark]: Boogie Procedure Inliner took 43.22ms. Allocated memory is still 142.6MB. Free memory was 95.3MB in the beginning and 93.5MB in the end (delta: 1.8MB). There was no memory consumed. Max. memory is 16.1GB. [2025-01-09 08:58:43,865 INFO L158 Benchmark]: Boogie Preprocessor took 44.35ms. Allocated memory is still 142.6MB. Free memory was 93.5MB in the beginning and 90.7MB in the end (delta: 2.8MB). There was no memory consumed. Max. memory is 16.1GB. [2025-01-09 08:58:43,865 INFO L158 Benchmark]: RCFGBuilder took 407.15ms. Allocated memory is still 142.6MB. Free memory was 90.7MB in the beginning and 71.1MB in the end (delta: 19.6MB). Peak memory consumption was 25.2MB. Max. memory is 16.1GB. [2025-01-09 08:58:43,867 INFO L158 Benchmark]: TraceAbstraction took 1478.80ms. Allocated memory is still 142.6MB. Free memory was 70.2MB in the beginning and 53.2MB in the end (delta: 17.0MB). Peak memory consumption was 14.6MB. Max. memory is 16.1GB. [2025-01-09 08:58:43,867 INFO L158 Benchmark]: Witness Printer took 3.58ms. Allocated memory is still 142.6MB. Free memory was 52.5MB in the beginning and 52.5MB in the end (delta: 41.5kB). There was no memory consumed. Max. memory is 16.1GB. [2025-01-09 08:58:43,868 INFO L338 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.18ms. Allocated memory is still 226.5MB. Free memory is still 148.8MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 223.10ms. Allocated memory is still 142.6MB. Free memory was 108.8MB in the beginning and 95.3MB in the end (delta: 13.5MB). Peak memory consumption was 16.8MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 43.22ms. Allocated memory is still 142.6MB. Free memory was 95.3MB in the beginning and 93.5MB in the end (delta: 1.8MB). There was no memory consumed. Max. memory is 16.1GB. * Boogie Preprocessor took 44.35ms. Allocated memory is still 142.6MB. Free memory was 93.5MB in the beginning and 90.7MB in the end (delta: 2.8MB). There was no memory consumed. Max. memory is 16.1GB. * RCFGBuilder took 407.15ms. Allocated memory is still 142.6MB. Free memory was 90.7MB in the beginning and 71.1MB in the end (delta: 19.6MB). Peak memory consumption was 25.2MB. Max. memory is 16.1GB. * TraceAbstraction took 1478.80ms. Allocated memory is still 142.6MB. Free memory was 70.2MB in the beginning and 53.2MB in the end (delta: 17.0MB). Peak memory consumption was 14.6MB. Max. memory is 16.1GB. * Witness Printer took 3.58ms. Allocated memory is still 142.6MB. Free memory was 52.5MB in the beginning and 52.5MB in the end (delta: 41.5kB). There was no memory consumed. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - UnprovableResult [Line: 19]: Unable to prove that a call to reach_error is unreachable Unable to prove that a call to reach_error is unreachable Reason: overapproximation of someBinaryFLOATComparisonOperation at line 130, overapproximation of someBinaryDOUBLEComparisonOperation at line 100, overapproximation of someBinaryDOUBLEComparisonOperation at line 101, overapproximation of someBinaryDOUBLEComparisonOperation at line 96, overapproximation of someBinaryDOUBLEComparisonOperation at line 94, overapproximation of someBinaryDOUBLEComparisonOperation at line 130, overapproximation of someBinaryDOUBLEComparisonOperation at line 46, overapproximation of someBinaryDOUBLEComparisonOperation at line 61, overapproximation of someBinaryDOUBLEComparisonOperation at line 98, overapproximation of someBinaryDOUBLEComparisonOperation at line 50, overapproximation of someBinaryDOUBLEComparisonOperation at line 66. Possible FailurePath: [L21] unsigned char isInitial = 0; [L22] double var_1_1 = 256.5; [L23] unsigned char var_1_2 = 0; [L24] double var_1_3 = 7.5; [L25] double var_1_4 = 256.2; [L26] double var_1_5 = 2.75; [L27] signed long int var_1_6 = -64; [L28] double var_1_7 = 8.05; [L29] float var_1_8 = 5.25; [L30] signed char var_1_9 = -16; [L31] signed long int var_1_10 = 1; [L32] signed long int var_1_11 = 4; [L33] signed long int var_1_12 = 0; [L34] signed long int var_1_13 = -16; [L35] unsigned short int var_1_14 = 10000; [L36] unsigned short int var_1_15 = 5; [L37] unsigned short int var_1_16 = 5; [L38] unsigned short int var_1_17 = 4; [L39] unsigned char var_1_18 = 100; [L40] unsigned char var_1_19 = 1; [L41] unsigned char var_1_20 = 8; VAL [isInitial=0, var_1_10=1, var_1_11=4, var_1_12=0, var_1_13=-16, var_1_14=10000, var_1_15=5, var_1_16=5, var_1_17=4, var_1_18=100, var_1_19=1, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_3=15/2, var_1_4=1281/5, var_1_5=11/4, var_1_6=-64, var_1_7=161/20, var_1_8=21/4, var_1_9=-16] [L134] isInitial = 1 [L135] FCALL initially() [L137] FCALL updateLastVariables() [L138] CALL updateVariables() [L90] var_1_2 = __VERIFIER_nondet_uchar() [L91] CALL assume_abort_if_not(var_1_2 >= 0) VAL [\old(cond)=1, isInitial=1, var_1_10=1, var_1_11=4, var_1_12=0, var_1_13=-16, var_1_14=10000, var_1_15=5, var_1_16=5, var_1_17=4, var_1_18=100, var_1_19=1, var_1_1=513/2, var_1_20=8, var_1_3=15/2, var_1_4=1281/5, var_1_5=11/4, var_1_6=-64, var_1_7=161/20, var_1_8=21/4, var_1_9=-16] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1, var_1_11=4, var_1_12=0, var_1_13=-16, var_1_14=10000, var_1_15=5, var_1_16=5, var_1_17=4, var_1_18=100, var_1_19=1, var_1_1=513/2, var_1_20=8, var_1_3=15/2, var_1_4=1281/5, var_1_5=11/4, var_1_6=-64, var_1_7=161/20, var_1_8=21/4, var_1_9=-16] [L91] RET assume_abort_if_not(var_1_2 >= 0) VAL [isInitial=1, var_1_10=1, var_1_11=4, var_1_12=0, var_1_13=-16, var_1_14=10000, var_1_15=5, var_1_16=5, var_1_17=4, var_1_18=100, var_1_19=1, var_1_1=513/2, var_1_20=8, var_1_3=15/2, var_1_4=1281/5, var_1_5=11/4, var_1_6=-64, var_1_7=161/20, var_1_8=21/4, var_1_9=-16] [L92] CALL assume_abort_if_not(var_1_2 <= 1) VAL [\old(cond)=1, isInitial=1, var_1_10=1, var_1_11=4, var_1_12=0, var_1_13=-16, var_1_14=10000, var_1_15=5, var_1_16=5, var_1_17=4, var_1_18=100, var_1_19=1, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_3=15/2, var_1_4=1281/5, var_1_5=11/4, var_1_6=-64, var_1_7=161/20, var_1_8=21/4, var_1_9=-16] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1, var_1_11=4, var_1_12=0, var_1_13=-16, var_1_14=10000, var_1_15=5, var_1_16=5, var_1_17=4, var_1_18=100, var_1_19=1, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_3=15/2, var_1_4=1281/5, var_1_5=11/4, var_1_6=-64, var_1_7=161/20, var_1_8=21/4, var_1_9=-16] [L92] RET assume_abort_if_not(var_1_2 <= 1) VAL [isInitial=1, var_1_10=1, var_1_11=4, var_1_12=0, var_1_13=-16, var_1_14=10000, var_1_15=5, var_1_16=5, var_1_17=4, var_1_18=100, var_1_19=1, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_3=15/2, var_1_4=1281/5, var_1_5=11/4, var_1_6=-64, var_1_7=161/20, var_1_8=21/4, var_1_9=-16] [L93] var_1_3 = __VERIFIER_nondet_double() [L94] CALL assume_abort_if_not((var_1_3 >= -922337.2036854765600e+13F && var_1_3 <= -1.0e-20F) || (var_1_3 <= 9223372.036854765600e+12F && var_1_3 >= 1.0e-20F )) VAL [\old(cond)=1, isInitial=1, var_1_10=1, var_1_11=4, var_1_12=0, var_1_13=-16, var_1_14=10000, var_1_15=5, var_1_16=5, var_1_17=4, var_1_18=100, var_1_19=1, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_4=1281/5, var_1_5=11/4, var_1_6=-64, var_1_7=161/20, var_1_8=21/4, var_1_9=-16] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1, var_1_11=4, var_1_12=0, var_1_13=-16, var_1_14=10000, var_1_15=5, var_1_16=5, var_1_17=4, var_1_18=100, var_1_19=1, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_4=1281/5, var_1_5=11/4, var_1_6=-64, var_1_7=161/20, var_1_8=21/4, var_1_9=-16] [L94] RET assume_abort_if_not((var_1_3 >= -922337.2036854765600e+13F && var_1_3 <= -1.0e-20F) || (var_1_3 <= 9223372.036854765600e+12F && var_1_3 >= 1.0e-20F )) VAL [isInitial=1, var_1_10=1, var_1_11=4, var_1_12=0, var_1_13=-16, var_1_14=10000, var_1_15=5, var_1_16=5, var_1_17=4, var_1_18=100, var_1_19=1, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_4=1281/5, var_1_5=11/4, var_1_6=-64, var_1_7=161/20, var_1_8=21/4, var_1_9=-16] [L95] var_1_4 = __VERIFIER_nondet_double() [L96] CALL assume_abort_if_not((var_1_4 >= -922337.2036854765600e+13F && var_1_4 <= -1.0e-20F) || (var_1_4 <= 9223372.036854765600e+12F && var_1_4 >= 1.0e-20F )) VAL [\old(cond)=1, isInitial=1, var_1_10=1, var_1_11=4, var_1_12=0, var_1_13=-16, var_1_14=10000, var_1_15=5, var_1_16=5, var_1_17=4, var_1_18=100, var_1_19=1, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_5=11/4, var_1_6=-64, var_1_7=161/20, var_1_8=21/4, var_1_9=-16] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1, var_1_11=4, var_1_12=0, var_1_13=-16, var_1_14=10000, var_1_15=5, var_1_16=5, var_1_17=4, var_1_18=100, var_1_19=1, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_5=11/4, var_1_6=-64, var_1_7=161/20, var_1_8=21/4, var_1_9=-16] [L96] RET assume_abort_if_not((var_1_4 >= -922337.2036854765600e+13F && var_1_4 <= -1.0e-20F) || (var_1_4 <= 9223372.036854765600e+12F && var_1_4 >= 1.0e-20F )) VAL [isInitial=1, var_1_10=1, var_1_11=4, var_1_12=0, var_1_13=-16, var_1_14=10000, var_1_15=5, var_1_16=5, var_1_17=4, var_1_18=100, var_1_19=1, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_5=11/4, var_1_6=-64, var_1_7=161/20, var_1_8=21/4, var_1_9=-16] [L97] var_1_5 = __VERIFIER_nondet_double() [L98] CALL assume_abort_if_not((var_1_5 >= -922337.2036854765600e+13F && var_1_5 <= -1.0e-20F) || (var_1_5 <= 9223372.036854765600e+12F && var_1_5 >= 1.0e-20F )) VAL [\old(cond)=1, isInitial=1, var_1_10=1, var_1_11=4, var_1_12=0, var_1_13=-16, var_1_14=10000, var_1_15=5, var_1_16=5, var_1_17=4, var_1_18=100, var_1_19=1, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_6=-64, var_1_7=161/20, var_1_8=21/4, var_1_9=-16] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1, var_1_11=4, var_1_12=0, var_1_13=-16, var_1_14=10000, var_1_15=5, var_1_16=5, var_1_17=4, var_1_18=100, var_1_19=1, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_6=-64, var_1_7=161/20, var_1_8=21/4, var_1_9=-16] [L98] RET assume_abort_if_not((var_1_5 >= -922337.2036854765600e+13F && var_1_5 <= -1.0e-20F) || (var_1_5 <= 9223372.036854765600e+12F && var_1_5 >= 1.0e-20F )) VAL [isInitial=1, var_1_10=1, var_1_11=4, var_1_12=0, var_1_13=-16, var_1_14=10000, var_1_15=5, var_1_16=5, var_1_17=4, var_1_18=100, var_1_19=1, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_6=-64, var_1_7=161/20, var_1_8=21/4, var_1_9=-16] [L99] var_1_7 = __VERIFIER_nondet_double() [L100] CALL assume_abort_if_not((var_1_7 >= -922337.2036854776000e+13F && var_1_7 <= -1.0e-20F) || (var_1_7 <= 9223372.036854776000e+12F && var_1_7 >= 1.0e-20F )) VAL [\old(cond)=1, isInitial=1, var_1_10=1, var_1_11=4, var_1_12=0, var_1_13=-16, var_1_14=10000, var_1_15=5, var_1_16=5, var_1_17=4, var_1_18=100, var_1_19=1, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_6=-64, var_1_8=21/4, var_1_9=-16] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1, var_1_11=4, var_1_12=0, var_1_13=-16, var_1_14=10000, var_1_15=5, var_1_16=5, var_1_17=4, var_1_18=100, var_1_19=1, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_6=-64, var_1_8=21/4, var_1_9=-16] [L100] RET assume_abort_if_not((var_1_7 >= -922337.2036854776000e+13F && var_1_7 <= -1.0e-20F) || (var_1_7 <= 9223372.036854776000e+12F && var_1_7 >= 1.0e-20F )) VAL [isInitial=1, var_1_10=1, var_1_11=4, var_1_12=0, var_1_13=-16, var_1_14=10000, var_1_15=5, var_1_16=5, var_1_17=4, var_1_18=100, var_1_19=1, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_6=-64, var_1_8=21/4, var_1_9=-16] [L101] CALL assume_abort_if_not(var_1_7 != 0.0F) VAL [\old(cond)=1, isInitial=1, var_1_10=1, var_1_11=4, var_1_12=0, var_1_13=-16, var_1_14=10000, var_1_15=5, var_1_16=5, var_1_17=4, var_1_18=100, var_1_19=1, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_6=-64, var_1_8=21/4, var_1_9=-16] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1, var_1_11=4, var_1_12=0, var_1_13=-16, var_1_14=10000, var_1_15=5, var_1_16=5, var_1_17=4, var_1_18=100, var_1_19=1, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_6=-64, var_1_8=21/4, var_1_9=-16] [L101] RET assume_abort_if_not(var_1_7 != 0.0F) VAL [isInitial=1, var_1_10=1, var_1_11=4, var_1_12=0, var_1_13=-16, var_1_14=10000, var_1_15=5, var_1_16=5, var_1_17=4, var_1_18=100, var_1_19=1, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_6=-64, var_1_8=21/4, var_1_9=-16] [L102] var_1_9 = __VERIFIER_nondet_char() [L103] CALL assume_abort_if_not(var_1_9 >= -128) VAL [\old(cond)=1, isInitial=1, var_1_10=1, var_1_11=4, var_1_12=0, var_1_13=-16, var_1_14=10000, var_1_15=5, var_1_16=5, var_1_17=4, var_1_18=100, var_1_19=1, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1, var_1_11=4, var_1_12=0, var_1_13=-16, var_1_14=10000, var_1_15=5, var_1_16=5, var_1_17=4, var_1_18=100, var_1_19=1, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L103] RET assume_abort_if_not(var_1_9 >= -128) VAL [isInitial=1, var_1_10=1, var_1_11=4, var_1_12=0, var_1_13=-16, var_1_14=10000, var_1_15=5, var_1_16=5, var_1_17=4, var_1_18=100, var_1_19=1, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L104] CALL assume_abort_if_not(var_1_9 <= 127) VAL [\old(cond)=1, isInitial=1, var_1_10=1, var_1_11=4, var_1_12=0, var_1_13=-16, var_1_14=10000, var_1_15=5, var_1_16=5, var_1_17=4, var_1_18=100, var_1_19=1, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1, var_1_11=4, var_1_12=0, var_1_13=-16, var_1_14=10000, var_1_15=5, var_1_16=5, var_1_17=4, var_1_18=100, var_1_19=1, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L104] RET assume_abort_if_not(var_1_9 <= 127) VAL [isInitial=1, var_1_10=1, var_1_11=4, var_1_12=0, var_1_13=-16, var_1_14=10000, var_1_15=5, var_1_16=5, var_1_17=4, var_1_18=100, var_1_19=1, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L105] var_1_10 = __VERIFIER_nondet_long() [L106] CALL assume_abort_if_not(var_1_10 >= -2147483648) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=4, var_1_12=0, var_1_13=-16, var_1_14=10000, var_1_15=5, var_1_16=5, var_1_17=4, var_1_18=100, var_1_19=1, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=4, var_1_12=0, var_1_13=-16, var_1_14=10000, var_1_15=5, var_1_16=5, var_1_17=4, var_1_18=100, var_1_19=1, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L106] RET assume_abort_if_not(var_1_10 >= -2147483648) VAL [isInitial=1, var_1_10=0, var_1_11=4, var_1_12=0, var_1_13=-16, var_1_14=10000, var_1_15=5, var_1_16=5, var_1_17=4, var_1_18=100, var_1_19=1, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L107] CALL assume_abort_if_not(var_1_10 <= 2147483647) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=4, var_1_12=0, var_1_13=-16, var_1_14=10000, var_1_15=5, var_1_16=5, var_1_17=4, var_1_18=100, var_1_19=1, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=4, var_1_12=0, var_1_13=-16, var_1_14=10000, var_1_15=5, var_1_16=5, var_1_17=4, var_1_18=100, var_1_19=1, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L107] RET assume_abort_if_not(var_1_10 <= 2147483647) VAL [isInitial=1, var_1_10=0, var_1_11=4, var_1_12=0, var_1_13=-16, var_1_14=10000, var_1_15=5, var_1_16=5, var_1_17=4, var_1_18=100, var_1_19=1, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L108] var_1_12 = __VERIFIER_nondet_long() [L109] CALL assume_abort_if_not(var_1_12 >= -1073741823) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=4, var_1_12=0, var_1_13=-16, var_1_14=10000, var_1_15=5, var_1_16=5, var_1_17=4, var_1_18=100, var_1_19=1, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=4, var_1_12=0, var_1_13=-16, var_1_14=10000, var_1_15=5, var_1_16=5, var_1_17=4, var_1_18=100, var_1_19=1, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L109] RET assume_abort_if_not(var_1_12 >= -1073741823) VAL [isInitial=1, var_1_10=0, var_1_11=4, var_1_12=0, var_1_13=-16, var_1_14=10000, var_1_15=5, var_1_16=5, var_1_17=4, var_1_18=100, var_1_19=1, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L110] CALL assume_abort_if_not(var_1_12 <= 1073741823) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=4, var_1_12=0, var_1_13=-16, var_1_14=10000, var_1_15=5, var_1_16=5, var_1_17=4, var_1_18=100, var_1_19=1, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=4, var_1_12=0, var_1_13=-16, var_1_14=10000, var_1_15=5, var_1_16=5, var_1_17=4, var_1_18=100, var_1_19=1, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L110] RET assume_abort_if_not(var_1_12 <= 1073741823) VAL [isInitial=1, var_1_10=0, var_1_11=4, var_1_12=0, var_1_13=-16, var_1_14=10000, var_1_15=5, var_1_16=5, var_1_17=4, var_1_18=100, var_1_19=1, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L111] var_1_13 = __VERIFIER_nondet_long() [L112] CALL assume_abort_if_not(var_1_13 >= -1073741823) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=4, var_1_12=0, var_1_13=0, var_1_14=10000, var_1_15=5, var_1_16=5, var_1_17=4, var_1_18=100, var_1_19=1, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=4, var_1_12=0, var_1_13=0, var_1_14=10000, var_1_15=5, var_1_16=5, var_1_17=4, var_1_18=100, var_1_19=1, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L112] RET assume_abort_if_not(var_1_13 >= -1073741823) VAL [isInitial=1, var_1_10=0, var_1_11=4, var_1_12=0, var_1_13=0, var_1_14=10000, var_1_15=5, var_1_16=5, var_1_17=4, var_1_18=100, var_1_19=1, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L113] CALL assume_abort_if_not(var_1_13 <= 1073741823) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=4, var_1_12=0, var_1_13=0, var_1_14=10000, var_1_15=5, var_1_16=5, var_1_17=4, var_1_18=100, var_1_19=1, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=4, var_1_12=0, var_1_13=0, var_1_14=10000, var_1_15=5, var_1_16=5, var_1_17=4, var_1_18=100, var_1_19=1, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L113] RET assume_abort_if_not(var_1_13 <= 1073741823) VAL [isInitial=1, var_1_10=0, var_1_11=4, var_1_12=0, var_1_13=0, var_1_14=10000, var_1_15=5, var_1_16=5, var_1_17=4, var_1_18=100, var_1_19=1, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L114] var_1_15 = __VERIFIER_nondet_ushort() [L115] CALL assume_abort_if_not(var_1_15 >= 0) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=4, var_1_12=0, var_1_13=0, var_1_14=10000, var_1_16=5, var_1_17=4, var_1_18=100, var_1_19=1, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=4, var_1_12=0, var_1_13=0, var_1_14=10000, var_1_16=5, var_1_17=4, var_1_18=100, var_1_19=1, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L115] RET assume_abort_if_not(var_1_15 >= 0) VAL [isInitial=1, var_1_10=0, var_1_11=4, var_1_12=0, var_1_13=0, var_1_14=10000, var_1_16=5, var_1_17=4, var_1_18=100, var_1_19=1, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L116] CALL assume_abort_if_not(var_1_15 <= 65534) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=4, var_1_12=0, var_1_13=0, var_1_14=10000, var_1_15=0, var_1_16=5, var_1_17=4, var_1_18=100, var_1_19=1, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=4, var_1_12=0, var_1_13=0, var_1_14=10000, var_1_15=0, var_1_16=5, var_1_17=4, var_1_18=100, var_1_19=1, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L116] RET assume_abort_if_not(var_1_15 <= 65534) VAL [isInitial=1, var_1_10=0, var_1_11=4, var_1_12=0, var_1_13=0, var_1_14=10000, var_1_15=0, var_1_16=5, var_1_17=4, var_1_18=100, var_1_19=1, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L117] var_1_16 = __VERIFIER_nondet_ushort() [L118] CALL assume_abort_if_not(var_1_16 >= 0) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=4, var_1_12=0, var_1_13=0, var_1_14=10000, var_1_15=0, var_1_17=4, var_1_18=100, var_1_19=1, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=4, var_1_12=0, var_1_13=0, var_1_14=10000, var_1_15=0, var_1_17=4, var_1_18=100, var_1_19=1, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L118] RET assume_abort_if_not(var_1_16 >= 0) VAL [isInitial=1, var_1_10=0, var_1_11=4, var_1_12=0, var_1_13=0, var_1_14=10000, var_1_15=0, var_1_17=4, var_1_18=100, var_1_19=1, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L119] CALL assume_abort_if_not(var_1_16 <= 65534) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=4, var_1_12=0, var_1_13=0, var_1_14=10000, var_1_15=0, var_1_16=0, var_1_17=4, var_1_18=100, var_1_19=1, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=4, var_1_12=0, var_1_13=0, var_1_14=10000, var_1_15=0, var_1_16=0, var_1_17=4, var_1_18=100, var_1_19=1, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L119] RET assume_abort_if_not(var_1_16 <= 65534) VAL [isInitial=1, var_1_10=0, var_1_11=4, var_1_12=0, var_1_13=0, var_1_14=10000, var_1_15=0, var_1_16=0, var_1_17=4, var_1_18=100, var_1_19=1, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L120] var_1_19 = __VERIFIER_nondet_uchar() [L121] CALL assume_abort_if_not(var_1_19 >= 0) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=4, var_1_12=0, var_1_13=0, var_1_14=10000, var_1_15=0, var_1_16=0, var_1_17=4, var_1_18=100, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=4, var_1_12=0, var_1_13=0, var_1_14=10000, var_1_15=0, var_1_16=0, var_1_17=4, var_1_18=100, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L121] RET assume_abort_if_not(var_1_19 >= 0) VAL [isInitial=1, var_1_10=0, var_1_11=4, var_1_12=0, var_1_13=0, var_1_14=10000, var_1_15=0, var_1_16=0, var_1_17=4, var_1_18=100, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L122] CALL assume_abort_if_not(var_1_19 <= 64) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=4, var_1_12=0, var_1_13=0, var_1_14=10000, var_1_15=0, var_1_16=0, var_1_17=4, var_1_18=100, var_1_19=0, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=4, var_1_12=0, var_1_13=0, var_1_14=10000, var_1_15=0, var_1_16=0, var_1_17=4, var_1_18=100, var_1_19=0, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L122] RET assume_abort_if_not(var_1_19 <= 64) VAL [isInitial=1, var_1_10=0, var_1_11=4, var_1_12=0, var_1_13=0, var_1_14=10000, var_1_15=0, var_1_16=0, var_1_17=4, var_1_18=100, var_1_19=0, var_1_1=513/2, var_1_20=8, var_1_2=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L123] var_1_20 = __VERIFIER_nondet_uchar() [L124] CALL assume_abort_if_not(var_1_20 >= 0) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=4, var_1_12=0, var_1_13=0, var_1_14=10000, var_1_15=0, var_1_16=0, var_1_17=4, var_1_18=100, var_1_19=0, var_1_1=513/2, var_1_2=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=4, var_1_12=0, var_1_13=0, var_1_14=10000, var_1_15=0, var_1_16=0, var_1_17=4, var_1_18=100, var_1_19=0, var_1_1=513/2, var_1_2=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L124] RET assume_abort_if_not(var_1_20 >= 0) VAL [isInitial=1, var_1_10=0, var_1_11=4, var_1_12=0, var_1_13=0, var_1_14=10000, var_1_15=0, var_1_16=0, var_1_17=4, var_1_18=100, var_1_19=0, var_1_1=513/2, var_1_2=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L125] CALL assume_abort_if_not(var_1_20 <= 63) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=4, var_1_12=0, var_1_13=0, var_1_14=10000, var_1_15=0, var_1_16=0, var_1_17=4, var_1_18=100, var_1_19=0, var_1_1=513/2, var_1_20=0, var_1_2=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=0, var_1_11=4, var_1_12=0, var_1_13=0, var_1_14=10000, var_1_15=0, var_1_16=0, var_1_17=4, var_1_18=100, var_1_19=0, var_1_1=513/2, var_1_20=0, var_1_2=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L125] RET assume_abort_if_not(var_1_20 <= 63) VAL [isInitial=1, var_1_10=0, var_1_11=4, var_1_12=0, var_1_13=0, var_1_14=10000, var_1_15=0, var_1_16=0, var_1_17=4, var_1_18=100, var_1_19=0, var_1_1=513/2, var_1_20=0, var_1_2=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L138] RET updateVariables() [L139] CALL step() [L45] COND TRUE ! var_1_2 [L46] var_1_1 = ((((((((var_1_3) < (var_1_4)) ? (var_1_3) : (var_1_4)))) < (var_1_5)) ? (((((var_1_3) < (var_1_4)) ? (var_1_3) : (var_1_4)))) : (var_1_5))) VAL [isInitial=1, var_1_10=0, var_1_11=4, var_1_12=0, var_1_13=0, var_1_14=10000, var_1_15=0, var_1_16=0, var_1_17=4, var_1_18=100, var_1_19=0, var_1_1=2, var_1_20=0, var_1_2=0, var_1_3=2, var_1_4=0, var_1_5=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L50] COND FALSE !(var_1_5 > (var_1_3 / var_1_7)) VAL [isInitial=1, var_1_10=0, var_1_11=4, var_1_12=0, var_1_13=0, var_1_14=10000, var_1_15=0, var_1_16=0, var_1_17=4, var_1_18=100, var_1_19=0, var_1_1=2, var_1_20=0, var_1_2=0, var_1_3=2, var_1_4=0, var_1_5=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L55] signed long int stepLocal_0 = var_1_10; VAL [isInitial=1, stepLocal_0=0, var_1_10=0, var_1_11=4, var_1_12=0, var_1_13=0, var_1_14=10000, var_1_15=0, var_1_16=0, var_1_17=4, var_1_18=100, var_1_19=0, var_1_1=2, var_1_20=0, var_1_2=0, var_1_3=2, var_1_4=0, var_1_5=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L56] COND FALSE !((var_1_6 * var_1_9) >= stepLocal_0) VAL [isInitial=1, var_1_10=0, var_1_11=4, var_1_12=0, var_1_13=0, var_1_14=10000, var_1_15=0, var_1_16=0, var_1_17=4, var_1_18=100, var_1_19=0, var_1_1=2, var_1_20=0, var_1_2=0, var_1_3=2, var_1_4=0, var_1_5=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L61] COND TRUE var_1_4 <= var_1_1 [L62] var_1_11 = (var_1_9 + -128) VAL [isInitial=1, var_1_10=0, var_1_11=-64, var_1_12=0, var_1_13=0, var_1_14=10000, var_1_15=0, var_1_16=0, var_1_17=4, var_1_18=100, var_1_19=0, var_1_1=2, var_1_20=0, var_1_2=0, var_1_3=2, var_1_4=0, var_1_5=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L66] COND FALSE !(var_1_5 >= var_1_1) VAL [isInitial=1, var_1_10=0, var_1_11=-64, var_1_12=0, var_1_13=0, var_1_14=10000, var_1_15=0, var_1_16=0, var_1_17=4, var_1_18=100, var_1_19=0, var_1_1=2, var_1_20=0, var_1_2=0, var_1_3=2, var_1_4=0, var_1_5=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L73] COND FALSE !(\read(var_1_2)) [L82] var_1_17 = var_1_16 VAL [isInitial=1, var_1_10=0, var_1_11=-64, var_1_12=0, var_1_13=0, var_1_14=10000, var_1_15=0, var_1_16=0, var_1_17=0, var_1_18=100, var_1_19=0, var_1_1=2, var_1_20=0, var_1_2=0, var_1_3=2, var_1_4=0, var_1_5=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L84] unsigned short int stepLocal_1 = var_1_16; VAL [isInitial=1, stepLocal_1=0, var_1_10=0, var_1_11=-64, var_1_12=0, var_1_13=0, var_1_14=10000, var_1_15=0, var_1_16=0, var_1_17=0, var_1_18=100, var_1_19=0, var_1_1=2, var_1_20=0, var_1_2=0, var_1_3=2, var_1_4=0, var_1_5=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L85] EXPR var_1_11 | var_1_6 VAL [isInitial=1, stepLocal_1=0, var_1_10=0, var_1_11=-64, var_1_12=0, var_1_13=0, var_1_14=10000, var_1_15=0, var_1_16=0, var_1_17=0, var_1_18=100, var_1_19=0, var_1_1=2, var_1_20=0, var_1_2=0, var_1_3=2, var_1_4=0, var_1_5=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L85] COND TRUE (var_1_14 + (var_1_11 | var_1_6)) > stepLocal_1 [L86] var_1_18 = (128 - (var_1_19 + var_1_20)) VAL [isInitial=1, var_1_10=0, var_1_11=-64, var_1_12=0, var_1_13=0, var_1_14=10000, var_1_15=0, var_1_16=0, var_1_17=0, var_1_18=128, var_1_19=0, var_1_1=2, var_1_20=0, var_1_2=0, var_1_3=2, var_1_4=0, var_1_5=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L139] RET step() [L140] CALL, EXPR property() [L130] EXPR (((((((! var_1_2) ? (var_1_1 == ((double) ((((((((var_1_3) < (var_1_4)) ? (var_1_3) : (var_1_4)))) < (var_1_5)) ? (((((var_1_3) < (var_1_4)) ? (var_1_3) : (var_1_4)))) : (var_1_5))))) : (var_1_1 == ((double) var_1_4))) && ((var_1_5 > (var_1_3 / var_1_7)) ? ((! var_1_2) ? (var_1_6 == ((signed long int) -10)) : 1) : 1)) && (((var_1_6 * var_1_9) >= var_1_10) ? (var_1_2 ? (var_1_8 == ((float) var_1_4)) : 1) : 1)) && ((var_1_4 <= var_1_1) ? (var_1_11 == ((signed long int) (var_1_9 + -128))) : (var_1_11 == ((signed long int) (((((-256) < (var_1_9)) ? (-256) : (var_1_9))) + ((((var_1_12) < (((((var_1_13) > (256)) ? (var_1_13) : (256))))) ? (var_1_12) : (((((var_1_13) > (256)) ? (var_1_13) : (256))))))))))) && ((var_1_5 >= var_1_1) ? ((((((1.2) < 0 ) ? -(1.2) : (1.2))) < var_1_4) ? (var_1_14 == ((unsigned short int) var_1_15)) : (var_1_14 == ((unsigned short int) var_1_16))) : 1)) && (var_1_2 ? ((var_1_1 == var_1_5) ? (((128 * ((((var_1_9) < (var_1_10)) ? (var_1_9) : (var_1_10)))) > 1) ? (var_1_17 == ((unsigned short int) var_1_16)) : 1) : (var_1_17 == ((unsigned short int) var_1_15))) : (var_1_17 == ((unsigned short int) var_1_16)))) && (((var_1_14 + (var_1_11 | var_1_6)) > var_1_16) ? (var_1_18 == ((unsigned char) (128 - (var_1_19 + var_1_20)))) : 1) VAL [isInitial=1, var_1_10=0, var_1_11=-64, var_1_12=0, var_1_13=0, var_1_14=10000, var_1_15=0, var_1_16=0, var_1_17=0, var_1_18=128, var_1_19=0, var_1_1=2, var_1_20=0, var_1_2=0, var_1_3=2, var_1_4=0, var_1_5=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L130-L131] return (((((((! var_1_2) ? (var_1_1 == ((double) ((((((((var_1_3) < (var_1_4)) ? (var_1_3) : (var_1_4)))) < (var_1_5)) ? (((((var_1_3) < (var_1_4)) ? (var_1_3) : (var_1_4)))) : (var_1_5))))) : (var_1_1 == ((double) var_1_4))) && ((var_1_5 > (var_1_3 / var_1_7)) ? ((! var_1_2) ? (var_1_6 == ((signed long int) -10)) : 1) : 1)) && (((var_1_6 * var_1_9) >= var_1_10) ? (var_1_2 ? (var_1_8 == ((float) var_1_4)) : 1) : 1)) && ((var_1_4 <= var_1_1) ? (var_1_11 == ((signed long int) (var_1_9 + -128))) : (var_1_11 == ((signed long int) (((((-256) < (var_1_9)) ? (-256) : (var_1_9))) + ((((var_1_12) < (((((var_1_13) > (256)) ? (var_1_13) : (256))))) ? (var_1_12) : (((((var_1_13) > (256)) ? (var_1_13) : (256))))))))))) && ((var_1_5 >= var_1_1) ? ((((((1.2) < 0 ) ? -(1.2) : (1.2))) < var_1_4) ? (var_1_14 == ((unsigned short int) var_1_15)) : (var_1_14 == ((unsigned short int) var_1_16))) : 1)) && (var_1_2 ? ((var_1_1 == var_1_5) ? (((128 * ((((var_1_9) < (var_1_10)) ? (var_1_9) : (var_1_10)))) > 1) ? (var_1_17 == ((unsigned short int) var_1_16)) : 1) : (var_1_17 == ((unsigned short int) var_1_15))) : (var_1_17 == ((unsigned short int) var_1_16)))) && (((var_1_14 + (var_1_11 | var_1_6)) > var_1_16) ? (var_1_18 == ((unsigned char) (128 - (var_1_19 + var_1_20)))) : 1) ; [L140] RET, EXPR property() [L140] CALL __VERIFIER_assert(property()) [L19] COND TRUE !(cond) VAL [isInitial=1, var_1_10=0, var_1_11=-64, var_1_12=0, var_1_13=0, var_1_14=10000, var_1_15=0, var_1_16=0, var_1_17=0, var_1_18=128, var_1_19=0, var_1_1=2, var_1_20=0, var_1_2=0, var_1_3=2, var_1_4=0, var_1_5=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] [L19] reach_error() VAL [isInitial=1, var_1_10=0, var_1_11=-64, var_1_12=0, var_1_13=0, var_1_14=10000, var_1_15=0, var_1_16=0, var_1_17=0, var_1_18=128, var_1_19=0, var_1_1=2, var_1_20=0, var_1_2=0, var_1_3=2, var_1_4=0, var_1_5=0, var_1_6=-64, var_1_8=21/4, var_1_9=64] - StatisticsResult: Ultimate Automizer benchmark data CFG has 2 procedures, 77 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 1.4s, OverallIterations: 2, TraceHistogramMax: 23, PathProgramHistogramMax: 1, EmptinessCheckTime: 0.0s, AutomataDifference: 0.1s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 0 SdHoareTripleChecker+Valid, 0.0s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 0 mSDsluCounter, 113 SdHoareTripleChecker+Invalid, 0.0s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 0 mSDsCounter, 0 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 0 IncrementalHoareTripleChecker+Invalid, 0 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 0 mSolverCounterUnsat, 113 mSDtfsCounter, 0 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 150 GetRequests, 150 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=77occurred in iteration=0, InterpolantAutomatonStates: 2, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.0s AutomataMinimizationTime, 1 MinimizatonAttempts, 0 StatesRemovedByMinimization, 0 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.1s SsaConstructionTime, 0.3s SatisfiabilityAnalysisTime, 0.2s InterpolantComputationTime, 596 NumberOfCodeBlocks, 596 NumberOfCodeBlocksAsserted, 4 NumberOfCheckSat, 296 ConstructedInterpolants, 0 QuantifiedInterpolants, 296 SizeOfPredicates, 0 NumberOfNonLiveVariables, 331 ConjunctsInSsa, 1 ConjunctsInUnsatCore, 2 InterpolantComputations, 1 PerfectInterpolantSequences, 1980/2024 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available, ConComCheckerStatistics: No data available RESULT: Ultimate could not prove your program: unable to determine feasibility of some traces [2025-01-09 08:58:43,885 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (1)] Forceful destruction successful, exit code 0 Received shutdown request... --- End real Ultimate output --- Execution finished normally Using bit-precise analysis Retrying with bit-precise analysis ### Bit-precise run ### Calling Ultimate with: /root/.sdkman/candidates/java/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/hardness-nfm22/hardness_codestructure_steplocals_file-76.i -s /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Bitvector.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 811e442ced91272f27290482f64220479ec828b108df11e4b6856fb1b291eb09 --- Real Ultimate output --- This is Ultimate 0.3.0-?-551b009-m [2025-01-09 08:58:45,919 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-01-09 08:58:46,031 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Bitvector.epf [2025-01-09 08:58:46,041 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-01-09 08:58:46,041 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-01-09 08:58:46,074 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-01-09 08:58:46,076 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-01-09 08:58:46,076 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-01-09 08:58:46,077 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2025-01-09 08:58:46,077 INFO L153 SettingsManager]: * Use memory slicer=true [2025-01-09 08:58:46,078 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2025-01-09 08:58:46,078 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2025-01-09 08:58:46,079 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-01-09 08:58:46,079 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-01-09 08:58:46,079 INFO L153 SettingsManager]: * Use SBE=true [2025-01-09 08:58:46,079 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-01-09 08:58:46,079 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2025-01-09 08:58:46,079 INFO L153 SettingsManager]: * sizeof long=4 [2025-01-09 08:58:46,079 INFO L153 SettingsManager]: * sizeof POINTER=4 [2025-01-09 08:58:46,079 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-01-09 08:58:46,080 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2025-01-09 08:58:46,080 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2025-01-09 08:58:46,080 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2025-01-09 08:58:46,080 INFO L153 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2025-01-09 08:58:46,080 INFO L153 SettingsManager]: * Use bitvectors instead of ints=true [2025-01-09 08:58:46,080 INFO L153 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2025-01-09 08:58:46,080 INFO L153 SettingsManager]: * sizeof long double=12 [2025-01-09 08:58:46,080 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-01-09 08:58:46,080 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-01-09 08:58:46,080 INFO L153 SettingsManager]: * Use constant arrays=true [2025-01-09 08:58:46,081 INFO L151 SettingsManager]: Preferences of IcfgBuilder differ from their defaults: [2025-01-09 08:58:46,081 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-09 08:58:46,081 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-01-09 08:58:46,081 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-01-09 08:58:46,081 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 08:58:46,081 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2025-01-09 08:58:46,081 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-09 08:58:46,081 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-01-09 08:58:46,082 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-01-09 08:58:46,082 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 08:58:46,082 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-01-09 08:58:46,082 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2025-01-09 08:58:46,082 INFO L153 SettingsManager]: * Compute procedure contracts=false [2025-01-09 08:58:46,082 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2025-01-09 08:58:46,082 INFO L153 SettingsManager]: * Trace refinement strategy=FOX [2025-01-09 08:58:46,082 INFO L153 SettingsManager]: * Command for external solver=cvc4 --incremental --print-success --lang smt [2025-01-09 08:58:46,082 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2025-01-09 08:58:46,083 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2025-01-09 08:58:46,083 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2025-01-09 08:58:46,083 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2025-01-09 08:58:46,083 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 -> 811e442ced91272f27290482f64220479ec828b108df11e4b6856fb1b291eb09 [2025-01-09 08:58:46,314 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-01-09 08:58:46,327 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-01-09 08:58:46,328 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-01-09 08:58:46,330 INFO L270 PluginConnector]: Initializing CDTParser... [2025-01-09 08:58:46,330 INFO L274 PluginConnector]: CDTParser initialized [2025-01-09 08:58:46,331 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/hardness-nfm22/hardness_codestructure_steplocals_file-76.i [2025-01-09 08:58:47,401 INFO L533 CDTParser]: Created temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/4e7490f35/b376beeb1cae46859e6fce53b0287017/FLAG1d3d6aa74 [2025-01-09 08:58:47,642 INFO L384 CDTParser]: Found 1 translation units. [2025-01-09 08:58:47,642 INFO L180 CDTParser]: Scanning /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/hardness-nfm22/hardness_codestructure_steplocals_file-76.i [2025-01-09 08:58:47,650 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/4e7490f35/b376beeb1cae46859e6fce53b0287017/FLAG1d3d6aa74 [2025-01-09 08:58:47,664 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/4e7490f35/b376beeb1cae46859e6fce53b0287017 [2025-01-09 08:58:47,666 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-01-09 08:58:47,668 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2025-01-09 08:58:47,669 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-01-09 08:58:47,669 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-01-09 08:58:47,672 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-01-09 08:58:47,673 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.01 08:58:47" (1/1) ... [2025-01-09 08:58:47,673 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@1959983b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:58:47, skipping insertion in model container [2025-01-09 08:58:47,674 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.01 08:58:47" (1/1) ... [2025-01-09 08:58:47,688 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-01-09 08:58:47,795 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/hardness-nfm22/hardness_codestructure_steplocals_file-76.i[917,930] [2025-01-09 08:58:47,845 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-09 08:58:47,861 INFO L200 MainTranslator]: Completed pre-run [2025-01-09 08:58:47,869 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/hardness-nfm22/hardness_codestructure_steplocals_file-76.i[917,930] [2025-01-09 08:58:47,898 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-09 08:58:47,913 INFO L204 MainTranslator]: Completed translation [2025-01-09 08:58:47,915 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:58:47 WrapperNode [2025-01-09 08:58:47,915 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-01-09 08:58:47,916 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-01-09 08:58:47,916 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-01-09 08:58:47,917 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-01-09 08:58:47,921 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:58:47" (1/1) ... [2025-01-09 08:58:47,933 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:58:47" (1/1) ... [2025-01-09 08:58:47,958 INFO L138 Inliner]: procedures = 27, calls = 36, calls flagged for inlining = 8, calls inlined = 8, statements flattened = 139 [2025-01-09 08:58:47,958 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-01-09 08:58:47,959 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-01-09 08:58:47,959 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-01-09 08:58:47,959 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-01-09 08:58:47,965 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:58:47" (1/1) ... [2025-01-09 08:58:47,965 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:58:47" (1/1) ... [2025-01-09 08:58:47,969 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:58:47" (1/1) ... [2025-01-09 08:58:47,981 INFO L175 MemorySlicer]: Split 2 memory accesses to 1 slices as follows [2]. 100 percent of accesses are in the largest equivalence class. The 2 initializations are split as follows [2]. The 0 writes are split as follows [0]. [2025-01-09 08:58:47,984 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:58:47" (1/1) ... [2025-01-09 08:58:47,985 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:58:47" (1/1) ... [2025-01-09 08:58:47,995 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:58:47" (1/1) ... [2025-01-09 08:58:47,995 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:58:47" (1/1) ... [2025-01-09 08:58:47,997 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:58:47" (1/1) ... [2025-01-09 08:58:48,002 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:58:47" (1/1) ... [2025-01-09 08:58:48,003 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:58:47" (1/1) ... [2025-01-09 08:58:48,005 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-01-09 08:58:48,007 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2025-01-09 08:58:48,010 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2025-01-09 08:58:48,010 INFO L274 PluginConnector]: RCFGBuilder initialized [2025-01-09 08:58:48,011 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:58:47" (1/1) ... [2025-01-09 08:58:48,015 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 08:58:48,023 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-09 08:58:48,036 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-01-09 08:58:48,039 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-01-09 08:58:48,054 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2025-01-09 08:58:48,055 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1#0 [2025-01-09 08:58:48,055 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2025-01-09 08:58:48,055 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2025-01-09 08:58:48,055 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-01-09 08:58:48,055 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-01-09 08:58:48,109 INFO L234 CfgBuilder]: Building ICFG [2025-01-09 08:58:48,110 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2025-01-09 08:58:57,551 INFO L? ?]: Removed 12 outVars from TransFormulas that were not future-live. [2025-01-09 08:58:57,551 INFO L283 CfgBuilder]: Performing block encoding [2025-01-09 08:58:57,558 INFO L307 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-01-09 08:58:57,558 INFO L312 CfgBuilder]: Removed 1 assume(true) statements. [2025-01-09 08:58:57,559 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 08:58:57 BoogieIcfgContainer [2025-01-09 08:58:57,559 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2025-01-09 08:58:57,561 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2025-01-09 08:58:57,561 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2025-01-09 08:58:57,564 INFO L274 PluginConnector]: TraceAbstraction initialized [2025-01-09 08:58:57,564 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 09.01 08:58:47" (1/3) ... [2025-01-09 08:58:57,565 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@661c48a9 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 09.01 08:58:57, skipping insertion in model container [2025-01-09 08:58:57,565 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:58:47" (2/3) ... [2025-01-09 08:58:57,565 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@661c48a9 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 09.01 08:58:57, skipping insertion in model container [2025-01-09 08:58:57,565 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 08:58:57" (3/3) ... [2025-01-09 08:58:57,566 INFO L128 eAbstractionObserver]: Analyzing ICFG hardness_codestructure_steplocals_file-76.i [2025-01-09 08:58:57,577 INFO L216 ceAbstractionStarter]: Automizer settings: Hoare:LoopHeads NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2025-01-09 08:58:57,578 INFO L151 ceAbstractionStarter]: Applying trace abstraction to ICFG hardness_codestructure_steplocals_file-76.i that has 2 procedures, 68 locations, 1 initial locations, 1 loop locations, and 1 error locations. [2025-01-09 08:58:57,625 INFO L332 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2025-01-09 08:58:57,635 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;@19efeb57, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2025-01-09 08:58:57,635 INFO L334 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2025-01-09 08:58:57,640 INFO L276 IsEmpty]: Start isEmpty. Operand has 68 states, 42 states have (on average 1.380952380952381) internal successors, (58), 43 states have internal predecessors, (58), 23 states have call successors, (23), 1 states have call predecessors, (23), 1 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2025-01-09 08:58:57,649 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 147 [2025-01-09 08:58:57,649 INFO L210 NwaCegarLoop]: Found error trace [2025-01-09 08:58:57,650 INFO L218 NwaCegarLoop]: trace histogram [23, 23, 23, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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-01-09 08:58:57,651 INFO L396 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-01-09 08:58:57,655 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 08:58:57,655 INFO L85 PathProgramCache]: Analyzing trace with hash 639235577, now seen corresponding path program 1 times [2025-01-09 08:58:57,664 INFO L118 FreeRefinementEngine]: Executing refinement strategy FOX [2025-01-09 08:58:57,667 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [98434731] [2025-01-09 08:58:57,667 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 08:58:57,667 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2025-01-09 08:58:57,667 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat [2025-01-09 08:58:57,670 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2025-01-09 08:58:57,678 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (2)] Waiting until timeout for monitored process [2025-01-09 08:58:57,743 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 146 statements into 1 equivalence classes. [2025-01-09 08:58:58,394 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 146 of 146 statements. [2025-01-09 08:58:58,394 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 08:58:58,394 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 08:58:58,419 INFO L256 TraceCheckSpWp]: Trace formula consists of 231 conjuncts, 1 conjuncts are in the unsatisfiable core [2025-01-09 08:58:58,428 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-09 08:58:58,465 INFO L134 CoverageAnalysis]: Checked inductivity of 1012 backedges. 332 proven. 0 refuted. 0 times theorem prover too weak. 680 trivial. 0 not checked. [2025-01-09 08:58:58,465 INFO L308 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2025-01-09 08:58:58,465 INFO L136 FreeRefinementEngine]: Strategy FOX found an infeasible trace [2025-01-09 08:58:58,466 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [98434731] [2025-01-09 08:58:58,466 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [98434731] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-09 08:58:58,466 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-09 08:58:58,466 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2025-01-09 08:58:58,467 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [661622098] [2025-01-09 08:58:58,468 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 08:58:58,471 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2025-01-09 08:58:58,471 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FOX [2025-01-09 08:58:58,486 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2025-01-09 08:58:58,486 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2025-01-09 08:58:58,488 INFO L87 Difference]: Start difference. First operand has 68 states, 42 states have (on average 1.380952380952381) internal successors, (58), 43 states have internal predecessors, (58), 23 states have call successors, (23), 1 states have call predecessors, (23), 1 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) Second operand has 2 states, 2 states have (on average 19.0) internal successors, (38), 2 states have internal predecessors, (38), 2 states have call successors, (23), 2 states have call predecessors, (23), 2 states have return successors, (23), 2 states have call predecessors, (23), 2 states have call successors, (23) [2025-01-09 08:58:58,510 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-09 08:58:58,512 INFO L93 Difference]: Finished difference Result 130 states and 226 transitions. [2025-01-09 08:58:58,512 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2025-01-09 08:58:58,514 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 19.0) internal successors, (38), 2 states have internal predecessors, (38), 2 states have call successors, (23), 2 states have call predecessors, (23), 2 states have return successors, (23), 2 states have call predecessors, (23), 2 states have call successors, (23) Word has length 146 [2025-01-09 08:58:58,514 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2025-01-09 08:58:58,519 INFO L225 Difference]: With dead ends: 130 [2025-01-09 08:58:58,520 INFO L226 Difference]: Without dead ends: 65 [2025-01-09 08:58:58,523 INFO L434 NwaCegarLoop]: 0 DeclaredPredicates, 145 GetRequests, 145 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-01-09 08:58:58,525 INFO L435 NwaCegarLoop]: 99 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, 99 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-01-09 08:58:58,525 INFO L436 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 99 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2025-01-09 08:58:58,536 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 65 states. [2025-01-09 08:58:58,555 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 65 to 65. [2025-01-09 08:58:58,556 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 65 states, 40 states have (on average 1.325) internal successors, (53), 40 states have internal predecessors, (53), 23 states have call successors, (23), 1 states have call predecessors, (23), 1 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2025-01-09 08:58:58,563 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 65 states to 65 states and 99 transitions. [2025-01-09 08:58:58,566 INFO L78 Accepts]: Start accepts. Automaton has 65 states and 99 transitions. Word has length 146 [2025-01-09 08:58:58,567 INFO L84 Accepts]: Finished accepts. word is rejected. [2025-01-09 08:58:58,567 INFO L471 AbstractCegarLoop]: Abstraction has 65 states and 99 transitions. [2025-01-09 08:58:58,568 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 19.0) internal successors, (38), 2 states have internal predecessors, (38), 2 states have call successors, (23), 2 states have call predecessors, (23), 2 states have return successors, (23), 2 states have call predecessors, (23), 2 states have call successors, (23) [2025-01-09 08:58:58,568 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 99 transitions. [2025-01-09 08:58:58,573 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 147 [2025-01-09 08:58:58,574 INFO L210 NwaCegarLoop]: Found error trace [2025-01-09 08:58:58,575 INFO L218 NwaCegarLoop]: trace histogram [23, 23, 23, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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-01-09 08:58:58,591 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (2)] Ended with exit code 0 [2025-01-09 08:58:58,779 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2025-01-09 08:58:58,779 INFO L396 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-01-09 08:58:58,781 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 08:58:58,781 INFO L85 PathProgramCache]: Analyzing trace with hash 1273493683, now seen corresponding path program 1 times [2025-01-09 08:58:58,781 INFO L118 FreeRefinementEngine]: Executing refinement strategy FOX [2025-01-09 08:58:58,781 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [2071929378] [2025-01-09 08:58:58,781 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 08:58:58,781 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 [2025-01-09 08:58:58,782 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat [2025-01-09 08:58:58,784 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2025-01-09 08:58:58,786 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat -theory.fp.to_bv_overflow_mode=1 -theory.fp.minmax_zero_mode=4 -theory.bv.div_by_zero_mode=1 -unsat_core_generation=3 (3)] Waiting until timeout for monitored process [2025-01-09 08:58:58,836 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 146 statements into 1 equivalence classes. [2025-01-09 08:58:59,458 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 146 of 146 statements. [2025-01-09 08:58:59,458 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 08:58:59,458 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 08:58:59,481 INFO L256 TraceCheckSpWp]: Trace formula consists of 231 conjuncts, 13 conjuncts are in the unsatisfiable core [2025-01-09 08:58:59,487 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-09 08:59:11,502 WARN L286 SmtUtils]: Spent 8.26s on a formula simplification that was a NOOP. DAG size: 3 (called from [L 728] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2025-01-09 08:59:19,771 WARN L286 SmtUtils]: Spent 8.27s on a formula simplification that was a NOOP. DAG size: 4 (called from [L 728] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2025-01-09 08:59:28,031 WARN L286 SmtUtils]: Spent 8.26s on a formula simplification that was a NOOP. DAG size: 3 (called from [L 728] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2025-01-09 08:59:34,071 WARN L286 SmtUtils]: Spent 6.04s on a formula simplification that was a NOOP. DAG size: 3 (called from [L 728] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2025-01-09 08:59:46,825 WARN L286 SmtUtils]: Spent 8.27s on a formula simplification that was a NOOP. DAG size: 3 (called from [L 728] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2025-01-09 08:59:58,290 WARN L286 SmtUtils]: Spent 7.25s on a formula simplification that was a NOOP. DAG size: 3 (called from [L 728] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2025-01-09 09:00:03,450 WARN L286 SmtUtils]: Spent 5.16s on a formula simplification that was a NOOP. DAG size: 3 (called from [L 728] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2025-01-09 09:00:11,712 WARN L286 SmtUtils]: Spent 8.26s on a formula simplification that was a NOOP. DAG size: 3 (called from [L 728] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2025-01-09 09:00:19,891 WARN L286 SmtUtils]: Spent 8.18s on a formula simplification that was a NOOP. DAG size: 7 (called from [L 728] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2025-01-09 09:00:23,978 WARN L851 $PredicateComparison]: unable to prove that (and (let ((.cse0 (fp.lt c_~var_1_3~0 c_~var_1_4~0)) (.cse2 (= c_~var_1_5~0 c_~var_1_1~0))) (or (and .cse0 (let ((.cse1 (fp.lt c_~var_1_3~0 c_~var_1_5~0))) (or (and .cse1 (= c_~var_1_3~0 c_~var_1_1~0)) (and (not .cse1) .cse2)))) (and (not .cse0) (let ((.cse3 (fp.lt c_~var_1_4~0 c_~var_1_5~0))) (or (and .cse2 (not .cse3)) (and (= c_~var_1_4~0 c_~var_1_1~0) .cse3)))))) (not (fp.gt c_~var_1_5~0 (fp.div c_currentRoundingMode c_~var_1_3~0 c_~var_1_7~0))) (= (_ bv0 8) c_~var_1_2~0)) is different from false [2025-01-09 09:00:28,057 WARN L873 $PredicateComparison]: unable to prove that (and (let ((.cse0 (fp.lt c_~var_1_3~0 c_~var_1_4~0)) (.cse2 (= c_~var_1_5~0 c_~var_1_1~0))) (or (and .cse0 (let ((.cse1 (fp.lt c_~var_1_3~0 c_~var_1_5~0))) (or (and .cse1 (= c_~var_1_3~0 c_~var_1_1~0)) (and (not .cse1) .cse2)))) (and (not .cse0) (let ((.cse3 (fp.lt c_~var_1_4~0 c_~var_1_5~0))) (or (and .cse2 (not .cse3)) (and (= c_~var_1_4~0 c_~var_1_1~0) .cse3)))))) (not (fp.gt c_~var_1_5~0 (fp.div c_currentRoundingMode c_~var_1_3~0 c_~var_1_7~0))) (= (_ bv0 8) c_~var_1_2~0)) is different from true