./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/hardness-nfm22/hardness_codestructure_steplocals_file-2.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-2.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 88d083b2955a39fa1df8b63324716d36866c117067c6dd3c09c49da8b0e366b3 --- Real Ultimate output --- This is Ultimate 0.3.0-?-551b009-m [2025-01-09 08:50:50,143 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-01-09 08:50:50,189 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:50:50,196 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-01-09 08:50:50,197 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-01-09 08:50:50,221 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-01-09 08:50:50,222 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-01-09 08:50:50,223 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-01-09 08:50:50,223 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2025-01-09 08:50:50,223 INFO L153 SettingsManager]: * Use memory slicer=true [2025-01-09 08:50:50,224 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2025-01-09 08:50:50,224 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2025-01-09 08:50:50,224 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-01-09 08:50:50,224 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-01-09 08:50:50,225 INFO L153 SettingsManager]: * Use SBE=true [2025-01-09 08:50:50,225 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-01-09 08:50:50,225 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2025-01-09 08:50:50,225 INFO L153 SettingsManager]: * sizeof long=4 [2025-01-09 08:50:50,225 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2025-01-09 08:50:50,225 INFO L153 SettingsManager]: * sizeof POINTER=4 [2025-01-09 08:50:50,225 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-01-09 08:50:50,225 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2025-01-09 08:50:50,225 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2025-01-09 08:50:50,226 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2025-01-09 08:50:50,226 INFO L153 SettingsManager]: * sizeof long double=12 [2025-01-09 08:50:50,226 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-01-09 08:50:50,226 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-01-09 08:50:50,226 INFO L153 SettingsManager]: * Use constant arrays=true [2025-01-09 08:50:50,226 INFO L151 SettingsManager]: Preferences of IcfgBuilder differ from their defaults: [2025-01-09 08:50:50,226 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-09 08:50:50,226 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-01-09 08:50:50,226 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-01-09 08:50:50,226 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 08:50:50,226 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2025-01-09 08:50:50,226 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-09 08:50:50,226 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-01-09 08:50:50,226 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-01-09 08:50:50,226 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 08:50:50,227 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-01-09 08:50:50,227 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2025-01-09 08:50:50,227 INFO L153 SettingsManager]: * Compute procedure contracts=false [2025-01-09 08:50:50,227 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2025-01-09 08:50:50,227 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2025-01-09 08:50:50,227 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2025-01-09 08:50:50,227 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2025-01-09 08:50:50,227 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2025-01-09 08:50:50,227 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2025-01-09 08:50:50,227 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2025-01-09 08:50:50,227 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 -> 88d083b2955a39fa1df8b63324716d36866c117067c6dd3c09c49da8b0e366b3 [2025-01-09 08:50:50,529 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-01-09 08:50:50,541 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-01-09 08:50:50,546 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-01-09 08:50:50,547 INFO L270 PluginConnector]: Initializing CDTParser... [2025-01-09 08:50:50,547 INFO L274 PluginConnector]: CDTParser initialized [2025-01-09 08:50:50,548 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-2.i [2025-01-09 08:50:51,766 INFO L533 CDTParser]: Created temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/b454b81fb/4b4f4e0d521248cbbc5a83926331aff1/FLAG7545aa344 [2025-01-09 08:50:52,071 INFO L384 CDTParser]: Found 1 translation units. [2025-01-09 08:50:52,072 INFO L180 CDTParser]: Scanning /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/hardness-nfm22/hardness_codestructure_steplocals_file-2.i [2025-01-09 08:50:52,080 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/b454b81fb/4b4f4e0d521248cbbc5a83926331aff1/FLAG7545aa344 [2025-01-09 08:50:52,364 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/b454b81fb/4b4f4e0d521248cbbc5a83926331aff1 [2025-01-09 08:50:52,369 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-01-09 08:50:52,371 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2025-01-09 08:50:52,372 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-01-09 08:50:52,375 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-01-09 08:50:52,379 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-01-09 08:50:52,384 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.01 08:50:52" (1/1) ... [2025-01-09 08:50:52,385 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@2d6ad120 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:50:52, skipping insertion in model container [2025-01-09 08:50:52,385 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.01 08:50:52" (1/1) ... [2025-01-09 08:50:52,411 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-01-09 08:50:52,554 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-2.i[916,929] [2025-01-09 08:50:52,615 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-09 08:50:52,635 INFO L200 MainTranslator]: Completed pre-run [2025-01-09 08:50:52,650 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-2.i[916,929] [2025-01-09 08:50:52,676 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-09 08:50:52,698 INFO L204 MainTranslator]: Completed translation [2025-01-09 08:50:52,703 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:50:52 WrapperNode [2025-01-09 08:50:52,703 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-01-09 08:50:52,704 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-01-09 08:50:52,704 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-01-09 08:50:52,704 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-01-09 08:50:52,713 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:50:52" (1/1) ... [2025-01-09 08:50:52,731 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:50:52" (1/1) ... [2025-01-09 08:50:52,764 INFO L138 Inliner]: procedures = 26, calls = 34, calls flagged for inlining = 8, calls inlined = 8, statements flattened = 141 [2025-01-09 08:50:52,767 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-01-09 08:50:52,768 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-01-09 08:50:52,768 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-01-09 08:50:52,768 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-01-09 08:50:52,781 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:50:52" (1/1) ... [2025-01-09 08:50:52,781 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:50:52" (1/1) ... [2025-01-09 08:50:52,787 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:50:52" (1/1) ... [2025-01-09 08:50:52,811 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:50:52,811 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:50:52" (1/1) ... [2025-01-09 08:50:52,811 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:50:52" (1/1) ... [2025-01-09 08:50:52,820 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:50:52" (1/1) ... [2025-01-09 08:50:52,822 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:50:52" (1/1) ... [2025-01-09 08:50:52,827 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:50:52" (1/1) ... [2025-01-09 08:50:52,828 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:50:52" (1/1) ... [2025-01-09 08:50:52,828 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:50:52" (1/1) ... [2025-01-09 08:50:52,830 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-01-09 08:50:52,834 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2025-01-09 08:50:52,834 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2025-01-09 08:50:52,835 INFO L274 PluginConnector]: RCFGBuilder initialized [2025-01-09 08:50:52,835 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:50:52" (1/1) ... [2025-01-09 08:50:52,839 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 08:50:52,847 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-09 08:50:52,858 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:50:52,863 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:50:52,875 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2025-01-09 08:50:52,876 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2025-01-09 08:50:52,876 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2025-01-09 08:50:52,876 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2025-01-09 08:50:52,876 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-01-09 08:50:52,876 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-01-09 08:50:52,924 INFO L234 CfgBuilder]: Building ICFG [2025-01-09 08:50:52,925 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2025-01-09 08:50:53,173 INFO L? ?]: Removed 10 outVars from TransFormulas that were not future-live. [2025-01-09 08:50:53,173 INFO L283 CfgBuilder]: Performing block encoding [2025-01-09 08:50:53,186 INFO L307 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-01-09 08:50:53,186 INFO L312 CfgBuilder]: Removed 1 assume(true) statements. [2025-01-09 08:50:53,186 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 08:50:53 BoogieIcfgContainer [2025-01-09 08:50:53,186 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2025-01-09 08:50:53,189 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2025-01-09 08:50:53,189 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2025-01-09 08:50:53,192 INFO L274 PluginConnector]: TraceAbstraction initialized [2025-01-09 08:50:53,192 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 09.01 08:50:52" (1/3) ... [2025-01-09 08:50:53,193 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3fc8e4db and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 09.01 08:50:53, skipping insertion in model container [2025-01-09 08:50:53,193 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:50:52" (2/3) ... [2025-01-09 08:50:53,194 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3fc8e4db and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 09.01 08:50:53, skipping insertion in model container [2025-01-09 08:50:53,194 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 08:50:53" (3/3) ... [2025-01-09 08:50:53,195 INFO L128 eAbstractionObserver]: Analyzing ICFG hardness_codestructure_steplocals_file-2.i [2025-01-09 08:50:53,206 INFO L216 ceAbstractionStarter]: Automizer settings: Hoare:LoopHeads NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2025-01-09 08:50:53,208 INFO L151 ceAbstractionStarter]: Applying trace abstraction to ICFG hardness_codestructure_steplocals_file-2.i that has 2 procedures, 64 locations, 1 initial locations, 1 loop locations, and 1 error locations. [2025-01-09 08:50:53,256 INFO L332 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2025-01-09 08:50:53,265 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;@5acd62b9, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2025-01-09 08:50:53,266 INFO L334 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2025-01-09 08:50:53,270 INFO L276 IsEmpty]: Start isEmpty. Operand has 64 states, 40 states have (on average 1.35) internal successors, (54), 41 states have internal predecessors, (54), 21 states have call successors, (21), 1 states have call predecessors, (21), 1 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2025-01-09 08:50:53,278 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 136 [2025-01-09 08:50:53,278 INFO L210 NwaCegarLoop]: Found error trace [2025-01-09 08:50:53,279 INFO L218 NwaCegarLoop]: trace histogram [21, 21, 21, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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:50:53,280 INFO L396 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-01-09 08:50:53,284 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 08:50:53,284 INFO L85 PathProgramCache]: Analyzing trace with hash 422213074, now seen corresponding path program 1 times [2025-01-09 08:50:53,289 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 08:50:53,291 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [603623580] [2025-01-09 08:50:53,291 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 08:50:53,292 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 08:50:53,376 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 135 statements into 1 equivalence classes. [2025-01-09 08:50:53,392 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 135 of 135 statements. [2025-01-09 08:50:53,393 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 08:50:53,393 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 08:50:53,506 INFO L134 CoverageAnalysis]: Checked inductivity of 840 backedges. 0 proven. 40 refuted. 0 times theorem prover too weak. 800 trivial. 0 not checked. [2025-01-09 08:50:53,506 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-09 08:50:53,506 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [603623580] [2025-01-09 08:50:53,507 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [603623580] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-09 08:50:53,507 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1780372810] [2025-01-09 08:50:53,507 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 08:50:53,507 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-09 08:50:53,507 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-09 08:50:53,514 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:50:53,518 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:50:53,588 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 135 statements into 1 equivalence classes. [2025-01-09 08:50:53,634 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 135 of 135 statements. [2025-01-09 08:50:53,634 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 08:50:53,634 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 08:50:53,637 INFO L256 TraceCheckSpWp]: Trace formula consists of 310 conjuncts, 1 conjuncts are in the unsatisfiable core [2025-01-09 08:50:53,642 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-09 08:50:53,687 INFO L134 CoverageAnalysis]: Checked inductivity of 840 backedges. 40 proven. 0 refuted. 0 times theorem prover too weak. 800 trivial. 0 not checked. [2025-01-09 08:50:53,688 INFO L308 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2025-01-09 08:50:53,688 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1780372810] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-09 08:50:53,688 INFO L185 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2025-01-09 08:50:53,688 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [2] total 2 [2025-01-09 08:50:53,690 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1643020744] [2025-01-09 08:50:53,690 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 08:50:53,697 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2025-01-09 08:50:53,697 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-09 08:50:53,718 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2025-01-09 08:50:53,718 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2025-01-09 08:50:53,720 INFO L87 Difference]: Start difference. First operand has 64 states, 40 states have (on average 1.35) internal successors, (54), 41 states have internal predecessors, (54), 21 states have call successors, (21), 1 states have call predecessors, (21), 1 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) Second operand has 2 states, 2 states have (on average 17.5) internal successors, (35), 2 states have internal predecessors, (35), 2 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (21), 1 states have call predecessors, (21), 2 states have call successors, (21) [2025-01-09 08:50:53,735 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-09 08:50:53,736 INFO L93 Difference]: Finished difference Result 122 states and 208 transitions. [2025-01-09 08:50:53,737 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2025-01-09 08:50:53,737 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 17.5) internal successors, (35), 2 states have internal predecessors, (35), 2 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (21), 1 states have call predecessors, (21), 2 states have call successors, (21) Word has length 135 [2025-01-09 08:50:53,738 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2025-01-09 08:50:53,742 INFO L225 Difference]: With dead ends: 122 [2025-01-09 08:50:53,742 INFO L226 Difference]: Without dead ends: 61 [2025-01-09 08:50:53,744 INFO L434 NwaCegarLoop]: 0 DeclaredPredicates, 136 GetRequests, 136 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:50:53,747 INFO L435 NwaCegarLoop]: 91 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, 91 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:50:53,748 INFO L436 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 91 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2025-01-09 08:50:53,757 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 61 states. [2025-01-09 08:50:53,776 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 61 to 61. [2025-01-09 08:50:53,778 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 61 states, 38 states have (on average 1.2894736842105263) internal successors, (49), 38 states have internal predecessors, (49), 21 states have call successors, (21), 1 states have call predecessors, (21), 1 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2025-01-09 08:50:53,780 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 91 transitions. [2025-01-09 08:50:53,784 INFO L78 Accepts]: Start accepts. Automaton has 61 states and 91 transitions. Word has length 135 [2025-01-09 08:50:53,784 INFO L84 Accepts]: Finished accepts. word is rejected. [2025-01-09 08:50:53,784 INFO L471 AbstractCegarLoop]: Abstraction has 61 states and 91 transitions. [2025-01-09 08:50:53,784 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 17.5) internal successors, (35), 2 states have internal predecessors, (35), 2 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (21), 1 states have call predecessors, (21), 2 states have call successors, (21) [2025-01-09 08:50:53,785 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 91 transitions. [2025-01-09 08:50:53,786 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 136 [2025-01-09 08:50:53,788 INFO L210 NwaCegarLoop]: Found error trace [2025-01-09 08:50:53,789 INFO L218 NwaCegarLoop]: trace histogram [21, 21, 21, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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:50:53,798 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:50:53,989 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:50:53,990 INFO L396 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-01-09 08:50:53,991 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 08:50:53,991 INFO L85 PathProgramCache]: Analyzing trace with hash 2035700436, now seen corresponding path program 1 times [2025-01-09 08:50:53,991 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 08:50:53,991 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1107317847] [2025-01-09 08:50:53,991 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 08:50:53,991 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 08:50:54,019 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 135 statements into 1 equivalence classes. [2025-01-09 08:50:54,090 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 135 of 135 statements. [2025-01-09 08:50:54,090 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 08:50:54,090 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unknown [2025-01-09 08:50:54,097 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [766558944] [2025-01-09 08:50:54,097 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 08:50:54,097 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-09 08:50:54,097 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-09 08:50:54,102 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:50:54,108 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:50:54,188 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 135 statements into 1 equivalence classes. [2025-01-09 08:50:54,389 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 135 of 135 statements. [2025-01-09 08:50:54,390 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 08:50:54,390 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-09 08:50:54,390 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-09 08:50:54,412 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 135 statements into 1 equivalence classes. [2025-01-09 08:50:54,444 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 135 of 135 statements. [2025-01-09 08:50:54,444 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 08:50:54,444 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-09 08:50:54,519 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-09 08:50:54,520 INFO L340 BasicCegarLoop]: Counterexample is feasible [2025-01-09 08:50:54,521 INFO L782 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2025-01-09 08:50:54,529 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:50:54,726 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:50:54,729 INFO L422 BasicCegarLoop]: Path program histogram: [1, 1] [2025-01-09 08:50:54,809 INFO L170 ceAbstractionStarter]: Computing trace abstraction results [2025-01-09 08:50:54,813 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 09.01 08:50:54 BoogieIcfgContainer [2025-01-09 08:50:54,813 INFO L131 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2025-01-09 08:50:54,814 INFO L112 PluginConnector]: ------------------------Witness Printer---------------------------- [2025-01-09 08:50:54,814 INFO L270 PluginConnector]: Initializing Witness Printer... [2025-01-09 08:50:54,814 INFO L274 PluginConnector]: Witness Printer initialized [2025-01-09 08:50:54,814 INFO L184 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 08:50:53" (3/4) ... [2025-01-09 08:50:54,816 INFO L149 WitnessPrinter]: No result that supports witness generation found [2025-01-09 08:50:54,817 INFO L131 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2025-01-09 08:50:54,817 INFO L158 Benchmark]: Toolchain (without parser) took 2446.67ms. Allocated memory is still 142.6MB. Free memory was 112.4MB in the beginning and 64.4MB in the end (delta: 48.1MB). Peak memory consumption was 48.3MB. Max. memory is 16.1GB. [2025-01-09 08:50:54,817 INFO L158 Benchmark]: CDTParser took 0.17ms. Allocated memory is still 201.3MB. Free memory is still 123.7MB. There was no memory consumed. Max. memory is 16.1GB. [2025-01-09 08:50:54,818 INFO L158 Benchmark]: CACSL2BoogieTranslator took 331.72ms. Allocated memory is still 142.6MB. Free memory was 112.0MB in the beginning and 98.6MB in the end (delta: 13.4MB). Peak memory consumption was 16.8MB. Max. memory is 16.1GB. [2025-01-09 08:50:54,818 INFO L158 Benchmark]: Boogie Procedure Inliner took 63.47ms. Allocated memory is still 142.6MB. Free memory was 98.6MB in the beginning and 96.4MB in the end (delta: 2.2MB). There was no memory consumed. Max. memory is 16.1GB. [2025-01-09 08:50:54,818 INFO L158 Benchmark]: Boogie Preprocessor took 61.72ms. Allocated memory is still 142.6MB. Free memory was 96.4MB in the beginning and 93.7MB in the end (delta: 2.7MB). There was no memory consumed. Max. memory is 16.1GB. [2025-01-09 08:50:54,819 INFO L158 Benchmark]: RCFGBuilder took 352.18ms. Allocated memory is still 142.6MB. Free memory was 93.7MB in the beginning and 75.8MB in the end (delta: 18.0MB). Peak memory consumption was 16.8MB. Max. memory is 16.1GB. [2025-01-09 08:50:54,820 INFO L158 Benchmark]: TraceAbstraction took 1624.40ms. Allocated memory is still 142.6MB. Free memory was 74.9MB in the beginning and 65.1MB in the end (delta: 9.7MB). Peak memory consumption was 14.7MB. Max. memory is 16.1GB. [2025-01-09 08:50:54,820 INFO L158 Benchmark]: Witness Printer took 2.82ms. Allocated memory is still 142.6MB. Free memory was 64.4MB in the beginning and 64.4MB in the end (delta: 27.1kB). There was no memory consumed. Max. memory is 16.1GB. [2025-01-09 08:50:54,821 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.17ms. Allocated memory is still 201.3MB. Free memory is still 123.7MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 331.72ms. Allocated memory is still 142.6MB. Free memory was 112.0MB in the beginning and 98.6MB in the end (delta: 13.4MB). Peak memory consumption was 16.8MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 63.47ms. Allocated memory is still 142.6MB. Free memory was 98.6MB in the beginning and 96.4MB in the end (delta: 2.2MB). There was no memory consumed. Max. memory is 16.1GB. * Boogie Preprocessor took 61.72ms. Allocated memory is still 142.6MB. Free memory was 96.4MB in the beginning and 93.7MB in the end (delta: 2.7MB). There was no memory consumed. Max. memory is 16.1GB. * RCFGBuilder took 352.18ms. Allocated memory is still 142.6MB. Free memory was 93.7MB in the beginning and 75.8MB in the end (delta: 18.0MB). Peak memory consumption was 16.8MB. Max. memory is 16.1GB. * TraceAbstraction took 1624.40ms. Allocated memory is still 142.6MB. Free memory was 74.9MB in the beginning and 65.1MB in the end (delta: 9.7MB). Peak memory consumption was 14.7MB. Max. memory is 16.1GB. * Witness Printer took 2.82ms. Allocated memory is still 142.6MB. Free memory was 64.4MB in the beginning and 64.4MB in the end (delta: 27.1kB). 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 someBinaryArithmeticDOUBLEoperation at line 87, overapproximation of someBinaryFLOATComparisonOperation at line 117, overapproximation of someBinaryFLOATComparisonOperation at line 113, overapproximation of someBinaryFLOATComparisonOperation at line 100, overapproximation of someBinaryFLOATComparisonOperation at line 112, overapproximation of someBinaryFLOATComparisonOperation at line 131, overapproximation of someBinaryFLOATComparisonOperation at line 102, overapproximation of someBinaryFLOATComparisonOperation at line 115, overapproximation of someBinaryDOUBLEComparisonOperation at line 107, overapproximation of someBinaryDOUBLEComparisonOperation at line 69, overapproximation of someBinaryDOUBLEComparisonOperation at line 131, overapproximation of someBinaryDOUBLEComparisonOperation at line 86. Possible FailurePath: [L21] unsigned char isInitial = 0; [L22] float var_1_1 = 3.95; [L23] unsigned char var_1_2 = 50; [L24] unsigned char var_1_3 = 10; [L25] float var_1_4 = 9999999.8; [L26] float var_1_5 = 8.6; [L27] unsigned long int var_1_6 = 10000; [L28] unsigned char var_1_7 = 1; [L29] double var_1_8 = 64.5; [L30] unsigned char var_1_9 = 0; [L31] float var_1_10 = 255.25; [L32] float var_1_11 = 7.5; [L33] float var_1_12 = 0.0; [L34] float var_1_13 = 64.8; [L35] double var_1_14 = 127.75; [L36] signed char var_1_15 = 8; [L37] signed char var_1_16 = 32; [L38] unsigned char var_1_17 = 0; [L39] unsigned char var_1_18 = 0; [L40] double var_1_19 = 2.25; [L41] unsigned char var_1_20 = 0; [L42] unsigned short int var_1_21 = 256; VAL [isInitial=0, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_2=50, var_1_3=10, var_1_4=49999999/5, var_1_5=43/5, var_1_6=10000, var_1_7=1, var_1_8=129/2, var_1_9=0] [L135] isInitial = 1 [L136] FCALL initially() [L138] FCALL updateLastVariables() [L139] CALL updateVariables() [L93] var_1_2 = __VERIFIER_nondet_uchar() [L94] CALL assume_abort_if_not(var_1_2 >= 0) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_3=10, var_1_4=49999999/5, var_1_5=43/5, var_1_6=10000, var_1_7=1, var_1_8=129/2, var_1_9=0] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_3=10, var_1_4=49999999/5, var_1_5=43/5, var_1_6=10000, var_1_7=1, var_1_8=129/2, var_1_9=0] [L94] RET assume_abort_if_not(var_1_2 >= 0) VAL [isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_3=10, var_1_4=49999999/5, var_1_5=43/5, var_1_6=10000, var_1_7=1, var_1_8=129/2, var_1_9=0] [L95] CALL assume_abort_if_not(var_1_2 <= 255) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_3=10, var_1_4=49999999/5, var_1_5=43/5, var_1_6=10000, var_1_7=1, var_1_8=129/2, var_1_9=0] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_3=10, var_1_4=49999999/5, var_1_5=43/5, var_1_6=10000, var_1_7=1, var_1_8=129/2, var_1_9=0] [L95] RET assume_abort_if_not(var_1_2 <= 255) VAL [isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_3=10, var_1_4=49999999/5, var_1_5=43/5, var_1_6=10000, var_1_7=1, var_1_8=129/2, var_1_9=0] [L96] var_1_3 = __VERIFIER_nondet_uchar() [L97] CALL assume_abort_if_not(var_1_3 >= 0) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_4=49999999/5, var_1_5=43/5, var_1_6=10000, var_1_7=1, var_1_8=129/2, var_1_9=0] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_4=49999999/5, var_1_5=43/5, var_1_6=10000, var_1_7=1, var_1_8=129/2, var_1_9=0] [L97] RET assume_abort_if_not(var_1_3 >= 0) VAL [isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_4=49999999/5, var_1_5=43/5, var_1_6=10000, var_1_7=1, var_1_8=129/2, var_1_9=0] [L98] CALL assume_abort_if_not(var_1_3 <= 255) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_4=49999999/5, var_1_5=43/5, var_1_6=10000, var_1_7=1, var_1_8=129/2, var_1_9=0] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_4=49999999/5, var_1_5=43/5, var_1_6=10000, var_1_7=1, var_1_8=129/2, var_1_9=0] [L98] RET assume_abort_if_not(var_1_3 <= 255) VAL [isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_4=49999999/5, var_1_5=43/5, var_1_6=10000, var_1_7=1, var_1_8=129/2, var_1_9=0] [L99] var_1_4 = __VERIFIER_nondet_float() [L100] CALL assume_abort_if_not((var_1_4 >= 0.0F && 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=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_5=43/5, var_1_6=10000, var_1_7=1, var_1_8=129/2, var_1_9=0] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_5=43/5, var_1_6=10000, var_1_7=1, var_1_8=129/2, var_1_9=0] [L100] RET assume_abort_if_not((var_1_4 >= 0.0F && var_1_4 <= -1.0e-20F) || (var_1_4 <= 9223372.036854765600e+12F && var_1_4 >= 1.0e-20F )) VAL [isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_5=43/5, var_1_6=10000, var_1_7=1, var_1_8=129/2, var_1_9=0] [L101] var_1_5 = __VERIFIER_nondet_float() [L102] CALL assume_abort_if_not((var_1_5 >= 0.0F && 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=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=1, var_1_8=129/2, var_1_9=0] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=1, var_1_8=129/2, var_1_9=0] [L102] RET assume_abort_if_not((var_1_5 >= 0.0F && var_1_5 <= -1.0e-20F) || (var_1_5 <= 9223372.036854765600e+12F && var_1_5 >= 1.0e-20F )) VAL [isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=1, var_1_8=129/2, var_1_9=0] [L103] var_1_7 = __VERIFIER_nondet_uchar() [L104] CALL assume_abort_if_not(var_1_7 >= 0) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_8=129/2, var_1_9=0] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_8=129/2, var_1_9=0] [L104] RET assume_abort_if_not(var_1_7 >= 0) VAL [isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_8=129/2, var_1_9=0] [L105] CALL assume_abort_if_not(var_1_7 <= 1) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_8=129/2, var_1_9=0] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_8=129/2, var_1_9=0] [L105] RET assume_abort_if_not(var_1_7 <= 1) VAL [isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_8=129/2, var_1_9=0] [L106] var_1_8 = __VERIFIER_nondet_double() [L107] CALL assume_abort_if_not((var_1_8 >= 0.0F && var_1_8 <= -1.0e-20F) || (var_1_8 <= 9223372.036854776000e+12F && var_1_8 >= 1.0e-20F )) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=0] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=0] [L107] RET assume_abort_if_not((var_1_8 >= 0.0F && var_1_8 <= -1.0e-20F) || (var_1_8 <= 9223372.036854776000e+12F && var_1_8 >= 1.0e-20F )) VAL [isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=0] [L108] var_1_9 = __VERIFIER_nondet_uchar() [L109] CALL assume_abort_if_not(var_1_9 >= 0) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0] [L109] RET assume_abort_if_not(var_1_9 >= 0) VAL [isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0] [L110] CALL assume_abort_if_not(var_1_9 <= 1) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L110] RET assume_abort_if_not(var_1_9 <= 1) VAL [isInitial=1, var_1_10=1021/4, var_1_11=15/2, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L111] var_1_11 = __VERIFIER_nondet_float() [L112] CALL assume_abort_if_not((var_1_11 >= -922337.2036854776000e+13F && var_1_11 <= -1.0e-20F) || (var_1_11 <= 9223372.036854776000e+12F && var_1_11 >= 1.0e-20F )) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L112] RET assume_abort_if_not((var_1_11 >= -922337.2036854776000e+13F && var_1_11 <= -1.0e-20F) || (var_1_11 <= 9223372.036854776000e+12F && var_1_11 >= 1.0e-20F )) VAL [isInitial=1, var_1_10=1021/4, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L113] CALL assume_abort_if_not(var_1_11 != 0.0F) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L113] RET assume_abort_if_not(var_1_11 != 0.0F) VAL [isInitial=1, var_1_10=1021/4, var_1_12=0, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L114] var_1_12 = __VERIFIER_nondet_float() [L115] CALL assume_abort_if_not((var_1_12 >= 4611686.018427382800e+12F && var_1_12 <= -1.0e-20F) || (var_1_12 <= 9223372.036854765600e+12F && var_1_12 >= 1.0e-20F )) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L115] RET assume_abort_if_not((var_1_12 >= 4611686.018427382800e+12F && var_1_12 <= -1.0e-20F) || (var_1_12 <= 9223372.036854765600e+12F && var_1_12 >= 1.0e-20F )) VAL [isInitial=1, var_1_10=1021/4, var_1_13=324/5, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L116] var_1_13 = __VERIFIER_nondet_float() [L117] CALL assume_abort_if_not((var_1_13 >= 0.0F && var_1_13 <= -1.0e-20F) || (var_1_13 <= 4611686.018427382800e+12F && var_1_13 >= 1.0e-20F )) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L117] RET assume_abort_if_not((var_1_13 >= 0.0F && var_1_13 <= -1.0e-20F) || (var_1_13 <= 4611686.018427382800e+12F && var_1_13 >= 1.0e-20F )) VAL [isInitial=1, var_1_10=1021/4, var_1_14=511/4, var_1_15=8, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L118] var_1_15 = __VERIFIER_nondet_char() [L119] CALL assume_abort_if_not(var_1_15 >= -1) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_14=511/4, var_1_15=-1, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_14=511/4, var_1_15=-1, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L119] RET assume_abort_if_not(var_1_15 >= -1) VAL [isInitial=1, var_1_10=1021/4, var_1_14=511/4, var_1_15=-1, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L120] CALL assume_abort_if_not(var_1_15 <= 127) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_14=511/4, var_1_15=-1, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_14=511/4, var_1_15=-1, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L120] RET assume_abort_if_not(var_1_15 <= 127) VAL [isInitial=1, var_1_10=1021/4, var_1_14=511/4, var_1_15=-1, var_1_16=32, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L121] var_1_16 = __VERIFIER_nondet_char() [L122] CALL assume_abort_if_not(var_1_16 >= 0) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_14=511/4, var_1_15=-1, var_1_16=0, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_14=511/4, var_1_15=-1, var_1_16=0, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L122] RET assume_abort_if_not(var_1_16 >= 0) VAL [isInitial=1, var_1_10=1021/4, var_1_14=511/4, var_1_15=-1, var_1_16=0, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L123] CALL assume_abort_if_not(var_1_16 <= 127) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_14=511/4, var_1_15=-1, var_1_16=0, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_14=511/4, var_1_15=-1, var_1_16=0, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L123] RET assume_abort_if_not(var_1_16 <= 127) VAL [isInitial=1, var_1_10=1021/4, var_1_14=511/4, var_1_15=-1, var_1_16=0, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L124] var_1_18 = __VERIFIER_nondet_uchar() [L125] CALL assume_abort_if_not(var_1_18 >= 0) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_14=511/4, var_1_15=-1, var_1_16=0, var_1_17=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_14=511/4, var_1_15=-1, var_1_16=0, var_1_17=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L125] RET assume_abort_if_not(var_1_18 >= 0) VAL [isInitial=1, var_1_10=1021/4, var_1_14=511/4, var_1_15=-1, var_1_16=0, var_1_17=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L126] CALL assume_abort_if_not(var_1_18 <= 0) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_14=511/4, var_1_15=-1, var_1_16=0, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L20] COND FALSE !(!cond) VAL [\old(cond)=1, isInitial=1, var_1_10=1021/4, var_1_14=511/4, var_1_15=-1, var_1_16=0, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L126] RET assume_abort_if_not(var_1_18 <= 0) VAL [isInitial=1, var_1_10=1021/4, var_1_14=511/4, var_1_15=-1, var_1_16=0, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=79/20, var_1_20=0, var_1_21=256, var_1_6=10000, var_1_7=0, var_1_9=1] [L139] RET updateVariables() [L140] CALL step() [L46] COND FALSE !(var_1_2 <= var_1_3) [L53] var_1_1 = var_1_4 VAL [isInitial=1, var_1_10=1021/4, var_1_14=511/4, var_1_15=-1, var_1_16=0, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=2, var_1_20=0, var_1_21=256, var_1_2=255, var_1_3=0, var_1_4=2, var_1_6=10000, var_1_7=0, var_1_9=1] [L55] unsigned char stepLocal_0 = var_1_2 != var_1_3; VAL [isInitial=1, stepLocal_0=1, var_1_10=1021/4, var_1_14=511/4, var_1_15=-1, var_1_16=0, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=2, var_1_20=0, var_1_21=256, var_1_2=255, var_1_3=0, var_1_4=2, var_1_6=10000, var_1_7=0, var_1_9=1] [L56] COND FALSE !(\read(var_1_7)) [L67] var_1_6 = var_1_2 VAL [isInitial=1, stepLocal_0=1, var_1_10=1021/4, var_1_14=511/4, var_1_15=-1, var_1_16=0, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=2, var_1_20=0, var_1_21=256, var_1_2=255, var_1_3=0, var_1_4=2, var_1_6=255, var_1_7=0, var_1_9=1] [L69] COND FALSE !((var_1_5 / var_1_11) >= (var_1_8 - var_1_4)) [L72] var_1_10 = 4.2f VAL [isInitial=1, stepLocal_0=1, var_1_10=21/5, var_1_14=511/4, var_1_15=-1, var_1_16=0, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=2, var_1_20=0, var_1_21=256, var_1_2=255, var_1_3=0, var_1_4=2, var_1_6=255, var_1_7=0, var_1_9=1] [L74] COND TRUE (var_1_15 - ((((0) < (var_1_16)) ? (0) : (var_1_16)))) > var_1_6 [L75] var_1_14 = var_1_12 VAL [isInitial=1, stepLocal_0=1, var_1_10=21/5, var_1_12=3, var_1_14=3, var_1_15=-1, var_1_16=0, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=2, var_1_20=0, var_1_21=256, var_1_2=255, var_1_3=0, var_1_4=2, var_1_6=255, var_1_7=0, var_1_9=1] [L77] COND FALSE !(var_1_6 <= (var_1_16 * var_1_2)) [L84] var_1_17 = var_1_18 VAL [isInitial=1, stepLocal_0=1, var_1_10=21/5, var_1_12=3, var_1_14=3, var_1_15=-1, var_1_16=0, var_1_17=0, var_1_18=0, var_1_19=9/4, var_1_1=2, var_1_20=0, var_1_21=256, var_1_2=255, var_1_3=0, var_1_4=2, var_1_6=255, var_1_7=0, var_1_9=1] [L86] COND TRUE var_1_14 < var_1_11 [L87] var_1_19 = (var_1_13 - 256.4) VAL [isInitial=1, stepLocal_0=1, var_1_10=21/5, var_1_12=3, var_1_14=3, var_1_15=-1, var_1_16=0, var_1_17=0, var_1_18=0, var_1_1=2, var_1_20=0, var_1_21=256, var_1_2=255, var_1_3=0, var_1_4=2, var_1_6=255, var_1_7=0, var_1_9=1] [L89] var_1_20 = var_1_16 [L90] var_1_21 = var_1_16 VAL [isInitial=1, stepLocal_0=1, var_1_10=21/5, var_1_12=3, var_1_14=3, var_1_15=-1, var_1_16=0, var_1_17=0, var_1_18=0, var_1_1=2, var_1_20=0, var_1_21=0, var_1_2=255, var_1_3=0, var_1_4=2, var_1_6=255, var_1_7=0, var_1_9=1] [L140] RET step() [L141] CALL, EXPR property() [L131-L132] return ((((((((var_1_2 <= var_1_3) ? ((var_1_3 > var_1_2) ? (var_1_1 == ((float) (var_1_4 - var_1_5))) : (var_1_1 == ((float) var_1_5))) : (var_1_1 == ((float) var_1_4))) && (var_1_7 ? ((((((var_1_1) > (((((var_1_5) > (199.78)) ? (var_1_5) : (199.78))))) ? (var_1_1) : (((((var_1_5) > (199.78)) ? (var_1_5) : (199.78)))))) != (var_1_4 - var_1_8)) ? (((var_1_2 != var_1_3) || var_1_9) ? (var_1_6 == ((unsigned long int) var_1_2)) : (var_1_6 == ((unsigned long int) 5u))) : (var_1_6 == ((unsigned long int) var_1_2))) : (var_1_6 == ((unsigned long int) var_1_2)))) && (((var_1_5 / var_1_11) >= (var_1_8 - var_1_4)) ? (var_1_10 == ((float) (((((var_1_5 - (var_1_12 - var_1_13))) < (var_1_4)) ? ((var_1_5 - (var_1_12 - var_1_13))) : (var_1_4))))) : (var_1_10 == ((float) 4.2f)))) && (((var_1_15 - ((((0) < (var_1_16)) ? (0) : (var_1_16)))) > var_1_6) ? (var_1_14 == ((double) var_1_12)) : 1)) && ((var_1_6 <= (var_1_16 * var_1_2)) ? (((var_1_5 + var_1_1) <= 127.025f) ? (var_1_17 == ((unsigned char) var_1_18)) : (var_1_17 == ((unsigned char) var_1_18))) : (var_1_17 == ((unsigned char) var_1_18)))) && ((var_1_14 < var_1_11) ? (var_1_19 == ((double) (var_1_13 - 256.4))) : 1)) && (var_1_20 == ((unsigned char) var_1_16))) && (var_1_21 == ((unsigned short int) var_1_16)) ; VAL [\result=0, isInitial=1, var_1_10=21/5, var_1_12=3, var_1_14=3, var_1_15=-1, var_1_16=0, var_1_17=0, var_1_18=0, var_1_1=2, var_1_20=0, var_1_21=0, var_1_2=255, var_1_3=0, var_1_4=2, var_1_6=255, var_1_7=0, var_1_9=1] [L141] RET, EXPR property() [L141] CALL __VERIFIER_assert(property()) [L19] COND TRUE !(cond) VAL [isInitial=1, var_1_10=21/5, var_1_12=3, var_1_14=3, var_1_15=-1, var_1_16=0, var_1_17=0, var_1_18=0, var_1_1=2, var_1_20=0, var_1_21=0, var_1_2=255, var_1_3=0, var_1_4=2, var_1_6=255, var_1_7=0, var_1_9=1] [L19] reach_error() VAL [isInitial=1, var_1_10=21/5, var_1_12=3, var_1_14=3, var_1_15=-1, var_1_16=0, var_1_17=0, var_1_18=0, var_1_1=2, var_1_20=0, var_1_21=0, var_1_2=255, var_1_3=0, var_1_4=2, var_1_6=255, var_1_7=0, var_1_9=1] - StatisticsResult: Ultimate Automizer benchmark data CFG has 2 procedures, 64 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 1.5s, OverallIterations: 2, TraceHistogramMax: 21, 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, 91 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, 91 mSDtfsCounter, 0 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 136 GetRequests, 136 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=64occurred 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, 540 NumberOfCodeBlocks, 540 NumberOfCodeBlocksAsserted, 4 NumberOfCheckSat, 268 ConstructedInterpolants, 0 QuantifiedInterpolants, 268 SizeOfPredicates, 0 NumberOfNonLiveVariables, 310 ConjunctsInSsa, 1 ConjunctsInUnsatCore, 2 InterpolantComputations, 1 PerfectInterpolantSequences, 1640/1680 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:50:54,837 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (1)] Ended with exit code 0 Received shutdown request... --- End real Ultimate output --- Execution finished normally Using bit-precise analysis Retrying with bit-precise analysis ### Bit-precise run ### Calling Ultimate with: /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-2.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 88d083b2955a39fa1df8b63324716d36866c117067c6dd3c09c49da8b0e366b3 --- Real Ultimate output --- This is Ultimate 0.3.0-?-551b009-m [2025-01-09 08:50:56,902 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-01-09 08:50:57,022 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:50:57,034 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-01-09 08:50:57,040 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-01-09 08:50:57,080 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-01-09 08:50:57,081 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-01-09 08:50:57,083 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-01-09 08:50:57,083 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2025-01-09 08:50:57,083 INFO L153 SettingsManager]: * Use memory slicer=true [2025-01-09 08:50:57,083 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2025-01-09 08:50:57,083 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2025-01-09 08:50:57,088 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-01-09 08:50:57,088 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-01-09 08:50:57,088 INFO L153 SettingsManager]: * Use SBE=true [2025-01-09 08:50:57,088 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-01-09 08:50:57,088 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2025-01-09 08:50:57,088 INFO L153 SettingsManager]: * sizeof long=4 [2025-01-09 08:50:57,088 INFO L153 SettingsManager]: * sizeof POINTER=4 [2025-01-09 08:50:57,088 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-01-09 08:50:57,088 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2025-01-09 08:50:57,088 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2025-01-09 08:50:57,088 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2025-01-09 08:50:57,090 INFO L153 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2025-01-09 08:50:57,090 INFO L153 SettingsManager]: * Use bitvectors instead of ints=true [2025-01-09 08:50:57,090 INFO L153 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2025-01-09 08:50:57,090 INFO L153 SettingsManager]: * sizeof long double=12 [2025-01-09 08:50:57,090 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-01-09 08:50:57,090 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-01-09 08:50:57,090 INFO L153 SettingsManager]: * Use constant arrays=true [2025-01-09 08:50:57,090 INFO L151 SettingsManager]: Preferences of IcfgBuilder differ from their defaults: [2025-01-09 08:50:57,090 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-09 08:50:57,090 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-01-09 08:50:57,090 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-01-09 08:50:57,090 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 08:50:57,090 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2025-01-09 08:50:57,090 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-09 08:50:57,090 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-01-09 08:50:57,090 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-01-09 08:50:57,090 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 08:50:57,091 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-01-09 08:50:57,091 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2025-01-09 08:50:57,091 INFO L153 SettingsManager]: * Compute procedure contracts=false [2025-01-09 08:50:57,091 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2025-01-09 08:50:57,091 INFO L153 SettingsManager]: * Trace refinement strategy=FOX [2025-01-09 08:50:57,091 INFO L153 SettingsManager]: * Command for external solver=cvc4 --incremental --print-success --lang smt [2025-01-09 08:50:57,091 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2025-01-09 08:50:57,091 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2025-01-09 08:50:57,091 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2025-01-09 08:50:57,091 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2025-01-09 08:50:57,091 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 -> 88d083b2955a39fa1df8b63324716d36866c117067c6dd3c09c49da8b0e366b3 [2025-01-09 08:50:57,341 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-01-09 08:50:57,346 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-01-09 08:50:57,347 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-01-09 08:50:57,348 INFO L270 PluginConnector]: Initializing CDTParser... [2025-01-09 08:50:57,348 INFO L274 PluginConnector]: CDTParser initialized [2025-01-09 08:50:57,349 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-2.i [2025-01-09 08:50:58,831 INFO L533 CDTParser]: Created temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/e1b610c71/880c4c4d885d4567a8eb3a82a432741b/FLAG1aa2cef54 [2025-01-09 08:50:59,080 INFO L384 CDTParser]: Found 1 translation units. [2025-01-09 08:50:59,085 INFO L180 CDTParser]: Scanning /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/hardness-nfm22/hardness_codestructure_steplocals_file-2.i [2025-01-09 08:50:59,096 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/e1b610c71/880c4c4d885d4567a8eb3a82a432741b/FLAG1aa2cef54 [2025-01-09 08:50:59,109 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/e1b610c71/880c4c4d885d4567a8eb3a82a432741b [2025-01-09 08:50:59,111 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-01-09 08:50:59,115 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2025-01-09 08:50:59,116 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-01-09 08:50:59,117 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-01-09 08:50:59,119 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-01-09 08:50:59,120 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.01 08:50:59" (1/1) ... [2025-01-09 08:50:59,120 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@1199c4c1 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:50:59, skipping insertion in model container [2025-01-09 08:50:59,120 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.01 08:50:59" (1/1) ... [2025-01-09 08:50:59,133 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-01-09 08:50:59,229 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-2.i[916,929] [2025-01-09 08:50:59,278 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-09 08:50:59,290 INFO L200 MainTranslator]: Completed pre-run [2025-01-09 08:50:59,298 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-2.i[916,929] [2025-01-09 08:50:59,327 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-09 08:50:59,338 INFO L204 MainTranslator]: Completed translation [2025-01-09 08:50:59,340 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:50:59 WrapperNode [2025-01-09 08:50:59,340 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-01-09 08:50:59,341 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-01-09 08:50:59,342 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-01-09 08:50:59,342 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-01-09 08:50:59,346 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:50:59" (1/1) ... [2025-01-09 08:50:59,354 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:50:59" (1/1) ... [2025-01-09 08:50:59,376 INFO L138 Inliner]: procedures = 27, calls = 34, calls flagged for inlining = 8, calls inlined = 8, statements flattened = 139 [2025-01-09 08:50:59,376 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-01-09 08:50:59,377 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-01-09 08:50:59,377 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-01-09 08:50:59,377 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-01-09 08:50:59,383 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:50:59" (1/1) ... [2025-01-09 08:50:59,383 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:50:59" (1/1) ... [2025-01-09 08:50:59,390 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:50:59" (1/1) ... [2025-01-09 08:50:59,408 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:50:59,408 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:50:59" (1/1) ... [2025-01-09 08:50:59,412 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:50:59" (1/1) ... [2025-01-09 08:50:59,418 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:50:59" (1/1) ... [2025-01-09 08:50:59,419 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:50:59" (1/1) ... [2025-01-09 08:50:59,424 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:50:59" (1/1) ... [2025-01-09 08:50:59,427 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:50:59" (1/1) ... [2025-01-09 08:50:59,430 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:50:59" (1/1) ... [2025-01-09 08:50:59,432 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-01-09 08:50:59,432 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2025-01-09 08:50:59,433 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2025-01-09 08:50:59,433 INFO L274 PluginConnector]: RCFGBuilder initialized [2025-01-09 08:50:59,433 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:50:59" (1/1) ... [2025-01-09 08:50:59,437 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 08:50:59,446 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-09 08:50:59,454 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:50:59,459 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:50:59,470 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2025-01-09 08:50:59,470 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1#0 [2025-01-09 08:50:59,470 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2025-01-09 08:50:59,470 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2025-01-09 08:50:59,470 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-01-09 08:50:59,470 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-01-09 08:50:59,516 INFO L234 CfgBuilder]: Building ICFG [2025-01-09 08:50:59,517 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2025-01-09 08:51:17,877 INFO L? ?]: Removed 10 outVars from TransFormulas that were not future-live. [2025-01-09 08:51:17,878 INFO L283 CfgBuilder]: Performing block encoding [2025-01-09 08:51:17,888 INFO L307 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-01-09 08:51:17,888 INFO L312 CfgBuilder]: Removed 1 assume(true) statements. [2025-01-09 08:51:17,889 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 08:51:17 BoogieIcfgContainer [2025-01-09 08:51:17,889 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2025-01-09 08:51:17,894 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2025-01-09 08:51:17,895 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2025-01-09 08:51:17,898 INFO L274 PluginConnector]: TraceAbstraction initialized [2025-01-09 08:51:17,898 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 09.01 08:50:59" (1/3) ... [2025-01-09 08:51:17,898 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6b12fe33 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 09.01 08:51:17, skipping insertion in model container [2025-01-09 08:51:17,899 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 08:50:59" (2/3) ... [2025-01-09 08:51:17,899 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6b12fe33 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 09.01 08:51:17, skipping insertion in model container [2025-01-09 08:51:17,899 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 08:51:17" (3/3) ... [2025-01-09 08:51:17,900 INFO L128 eAbstractionObserver]: Analyzing ICFG hardness_codestructure_steplocals_file-2.i [2025-01-09 08:51:17,928 INFO L216 ceAbstractionStarter]: Automizer settings: Hoare:LoopHeads NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2025-01-09 08:51:17,932 INFO L151 ceAbstractionStarter]: Applying trace abstraction to ICFG hardness_codestructure_steplocals_file-2.i that has 2 procedures, 64 locations, 1 initial locations, 1 loop locations, and 1 error locations. [2025-01-09 08:51:17,974 INFO L332 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2025-01-09 08:51:17,986 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;@5506d1d7, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2025-01-09 08:51:17,986 INFO L334 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2025-01-09 08:51:17,989 INFO L276 IsEmpty]: Start isEmpty. Operand has 64 states, 40 states have (on average 1.35) internal successors, (54), 41 states have internal predecessors, (54), 21 states have call successors, (21), 1 states have call predecessors, (21), 1 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2025-01-09 08:51:17,996 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 136 [2025-01-09 08:51:17,997 INFO L210 NwaCegarLoop]: Found error trace [2025-01-09 08:51:17,998 INFO L218 NwaCegarLoop]: trace histogram [21, 21, 21, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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:51:17,998 INFO L396 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-01-09 08:51:18,002 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 08:51:18,003 INFO L85 PathProgramCache]: Analyzing trace with hash 422213074, now seen corresponding path program 1 times [2025-01-09 08:51:18,011 INFO L118 FreeRefinementEngine]: Executing refinement strategy FOX [2025-01-09 08:51:18,011 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1939748411] [2025-01-09 08:51:18,012 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 08:51:18,012 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:51:18,012 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat [2025-01-09 08:51:18,015 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:51:18,016 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:51:18,087 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 135 statements into 1 equivalence classes. [2025-01-09 08:51:18,590 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 135 of 135 statements. [2025-01-09 08:51:18,590 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 08:51:18,590 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 08:51:18,609 INFO L256 TraceCheckSpWp]: Trace formula consists of 220 conjuncts, 1 conjuncts are in the unsatisfiable core [2025-01-09 08:51:18,614 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-09 08:51:18,637 INFO L134 CoverageAnalysis]: Checked inductivity of 840 backedges. 296 proven. 0 refuted. 0 times theorem prover too weak. 544 trivial. 0 not checked. [2025-01-09 08:51:18,637 INFO L308 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2025-01-09 08:51:18,637 INFO L136 FreeRefinementEngine]: Strategy FOX found an infeasible trace [2025-01-09 08:51:18,637 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1939748411] [2025-01-09 08:51:18,638 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1939748411] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-09 08:51:18,638 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-09 08:51:18,638 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2025-01-09 08:51:18,639 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [267580] [2025-01-09 08:51:18,639 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 08:51:18,642 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2025-01-09 08:51:18,642 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FOX [2025-01-09 08:51:18,652 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2025-01-09 08:51:18,653 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2025-01-09 08:51:18,654 INFO L87 Difference]: Start difference. First operand has 64 states, 40 states have (on average 1.35) internal successors, (54), 41 states have internal predecessors, (54), 21 states have call successors, (21), 1 states have call predecessors, (21), 1 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) Second operand has 2 states, 2 states have (on average 18.5) internal successors, (37), 2 states have internal predecessors, (37), 2 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (21), 2 states have call predecessors, (21), 2 states have call successors, (21) [2025-01-09 08:51:18,668 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-09 08:51:18,669 INFO L93 Difference]: Finished difference Result 122 states and 208 transitions. [2025-01-09 08:51:18,669 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2025-01-09 08:51:18,673 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 18.5) internal successors, (37), 2 states have internal predecessors, (37), 2 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (21), 2 states have call predecessors, (21), 2 states have call successors, (21) Word has length 135 [2025-01-09 08:51:18,673 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2025-01-09 08:51:18,680 INFO L225 Difference]: With dead ends: 122 [2025-01-09 08:51:18,680 INFO L226 Difference]: Without dead ends: 61 [2025-01-09 08:51:18,682 INFO L434 NwaCegarLoop]: 0 DeclaredPredicates, 134 GetRequests, 134 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:51:18,688 INFO L435 NwaCegarLoop]: 91 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, 91 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:51:18,688 INFO L436 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 91 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2025-01-09 08:51:18,701 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 61 states. [2025-01-09 08:51:18,727 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 61 to 61. [2025-01-09 08:51:18,731 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 61 states, 38 states have (on average 1.2894736842105263) internal successors, (49), 38 states have internal predecessors, (49), 21 states have call successors, (21), 1 states have call predecessors, (21), 1 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2025-01-09 08:51:18,734 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 91 transitions. [2025-01-09 08:51:18,738 INFO L78 Accepts]: Start accepts. Automaton has 61 states and 91 transitions. Word has length 135 [2025-01-09 08:51:18,738 INFO L84 Accepts]: Finished accepts. word is rejected. [2025-01-09 08:51:18,738 INFO L471 AbstractCegarLoop]: Abstraction has 61 states and 91 transitions. [2025-01-09 08:51:18,738 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 18.5) internal successors, (37), 2 states have internal predecessors, (37), 2 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (21), 2 states have call predecessors, (21), 2 states have call successors, (21) [2025-01-09 08:51:18,738 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 91 transitions. [2025-01-09 08:51:18,741 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 136 [2025-01-09 08:51:18,742 INFO L210 NwaCegarLoop]: Found error trace [2025-01-09 08:51:18,743 INFO L218 NwaCegarLoop]: trace histogram [21, 21, 21, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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:51:18,761 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:51:18,943 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:51:18,948 INFO L396 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2025-01-09 08:51:18,948 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 08:51:18,948 INFO L85 PathProgramCache]: Analyzing trace with hash 2035700436, now seen corresponding path program 1 times [2025-01-09 08:51:18,949 INFO L118 FreeRefinementEngine]: Executing refinement strategy FOX [2025-01-09 08:51:18,949 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [217705450] [2025-01-09 08:51:18,949 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 08:51:18,949 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:51:18,949 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/mathsat [2025-01-09 08:51:18,951 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:51:18,954 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:51:19,026 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 135 statements into 1 equivalence classes. [2025-01-09 08:51:19,642 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 135 of 135 statements. [2025-01-09 08:51:19,642 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 08:51:19,642 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 08:51:19,668 INFO L256 TraceCheckSpWp]: Trace formula consists of 220 conjuncts, 27 conjuncts are in the unsatisfiable core [2025-01-09 08:51:19,677 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-09 08:51:48,868 WARN L286 SmtUtils]: Spent 5.34s on a formula simplification that was a NOOP. DAG size: 11 (called from [L 728] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify) [2025-01-09 08:51:57,541 WARN L286 SmtUtils]: Spent 6.46s on a formula simplification that was a NOOP. DAG size: 5 (called from [L 728] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify)